Chinaunix首页 | 论坛 | 博客
  • 博客访问: 266650
  • 博文数量: 81
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 878
  • 用 户 组: 普通用户
  • 注册时间: 2014-07-25 23:20
文章分类

全部博文(81)

文章存档

2017年(45)

2016年(20)

2015年(2)

2014年(14)

我的朋友

分类: 网络与安全

2017-04-27 20:57:19

命名采取驼峰式,例如: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. 类需加上大致说明注释,例如:
    ///


    /// DiYi ERP用户业务类
    /// 第一版
    /// 李伟
    /// 2017/4/6
    ///

    public class UserBiz{

    /* INNER CODE */

    }

  2. 复杂逻辑需要加上业务逻辑的注释,例如:
    ///


    /// 查询用户分页数据
    ///

    /// 分页查询参数,包括索引和单页显示数量
    /// 总数,为输出参数
    ///
    public DataTable QueryPagedUserDataTable(PagedParam pagedParam,out int totalAmount)
    {

    /* INNER CODE */

    }

  3. 一组方法需加上#Region,生成注释块,例如:
    /#region FineUI通知对话框显示
    ///


    /// 显示通知对话框
    ///

    ///
    public virtual void ShowNotify(string message)
    {

    ShowNotify(message, MessageBoxIcon.Information);

    }

    ///


    /// 显示通知对话框
    ///

    ///
    ///
    public virtual void ShowNotify(string message, MessageBoxIcon messageIcon)
    {

    ShowNotify(message, messageIcon, Target.Top);

    }

    ///


    /// 显示通知对话框
    ///

    ///
    ///
    ///
    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插件,可以帮助开发者编写出更干净整洁的代码,去除一些定义了却不使用的变量,自动给出命名建议,一键应用未引用的命名空间等等。

阅读(1658) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~