递易技术部平台开辟代码范例

定名

定名采纳驼峰式,比方:AccountName,“A”和“N”大写,不要运用下划线。
定名包含变量、函数、参数,类等定名要能很好的表述其承载的营业。
要名不虚传,不存在歧义,要直接了当。

例子:

  1. 函数和参数

    public AccountEntity QueryAccountDetailById(int accountId):依据用户ID猎取用户概况

  2. 变量

    int uncheckProductAmount:未确认的产品数目(注:变量首字母小写)

  3. 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

    原文作者:李大伟_大不发音
    原文地址: https://segmentfault.com/a/1190000009223757
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞