遞易技術部平臺開發代碼規範

命名

命名採起駝峯式,例如:AccountName,「A」和「N」大寫,不要使用下劃線。
命名包括變量、函數、參數,類等命名要能很好的表述其承載的業務。
要名副其實,不存在歧義,要直截了當。c#

例子:緩存

  1. 函數和參數函數

    public AccountEntity QueryAccountDetailById(int accountId):根據用戶ID獲取用戶詳情ui

  2. 變量插件

    int uncheckProductAmount:未確認的產品數量(注:變量首字母小寫)code

  3. orm

    public class AccountCacheBiz:用戶緩存邏輯類(注:Biz表示業務邏輯)對象

函數

一個函數在於短小精悍,只做一件事情,並作好這件事。
只作一件事才能獲得更好的利用函數名錶述本身。索引

函數的參數應該足夠的少,無最好,一次之,再次爲二,儘可能避免三個以及三個以上。
對於太多的參數可能該採用IntroduceParameterObject(引入參數對象)。開發

杜絕重複代碼,不要對一段代碼進行拷貝操做,這樣意味着往後維護須要更新多個地方,確定會出現遺漏,留下隱患。

避免返回NULL。
在開發過程當中最多見異常的就是NullReferenceException。
在非特定場景下,要極力的避免返回null。
面對這種場景能夠採用null object Pattern(空對象模式)返回特例對象。
如c#類庫中的Guid.Empty,string.Empty。
對於集合類型咱們能夠返回長度0的空集合而非null。

類第一原則應是是小並足夠的小。但與函數不一樣的是函數以代碼行數統計,而類以權責統計。
第二原則是:高內聚低耦合。

註釋

  1. 類需加上大體說明註釋,例如:
    /// <summary>
    /// DiYi ERP用戶業務類
    /// 初版
    /// 李偉
    /// 2017/4/6
    /// </summary>
    public class UserBiz{

    /* INNER CODE */

    }

  2. 複雜邏輯須要加上業務邏輯的註釋,例如:
    /// <summary>
    /// 查詢用戶分頁數據
    /// </summary>
    /// <param name="pagedParam">分頁查詢參數,包括索引和單頁顯示數量</param>
    /// <param name="totalAmount">總數,爲輸出參數</param>
    /// <returns></returns>
    public DataTable QueryPagedUserDataTable(PagedParam pagedParam,out int totalAmount)
    {

    /* INNER CODE */

    }

  3. 一組方法需加上#Region,生成註釋塊,例如:
    /#region FineUI通知對話框顯示
    /// <summary>
    /// 顯示通知對話框
    /// </summary>
    /// <param name="message"></param>
    public virtual void ShowNotify(string message)
    {

    ShowNotify(message, MessageBoxIcon.Information);

    }

    /// <summary>
    /// 顯示通知對話框
    /// </summary>
    /// <param name="message"></param>
    /// <param name="messageIcon"></param>
    public virtual void ShowNotify(string message, MessageBoxIcon messageIcon)
    {

    ShowNotify(message, messageIcon, Target.Top);

    }

    /// <summary>
    /// 顯示通知對話框
    /// </summary>
    /// <param name="message"></param>
    /// <param name="messageIcon"></param>
    /// <param name="target"></param>
    public virtual void ShowNotify(string message, MessageBoxIcon messageIcon, Target target)
    {

    Notify n = new Notify();
    n.Target = target;
    n.Message = message;
    n.MessageBoxIcon = messageIcon;
    n.PositionX = Position.Center;
    n.PositionY = Position.Top;
    n.DisplayMilliseconds = 3000;
    n.ShowHeader = false;
    n.Show();

    }
    /#endregion

DD

ReSharper

一款VS插件,能夠幫助開發者編寫出更乾淨整潔的代碼,去除一些定義了卻不使用的變量,自動給出命名建議,一鍵應用未引用的命名空間等等。

2017/4/27 V0.1

相關文章
相關標籤/搜索