资讯专栏INFORMATION COLUMN

递易技术部平台开发代码规范

DC_er / 1478人阅读

摘要:命名命名采取驼峰式,例如和大写,不要使用下划线。在开发过程中最常见异常的就是。但与函数不同的是函数以代码行数统计,而类以权责统计。第二原则是高内聚低耦合。

命名

命名采取驼峰式,例如:AccountName,“A”和“N”大写,不要使用下划线。
命名包括变量、函数、参数,类等命名要能很好的表述其承载的业务。
要名副其实,不存在歧义,要直截了当。

例子:

函数和参数

public AccountEntity QueryAccountDetailById(int accountId):根据用户ID获取用户详情

变量

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

public class AccountCacheBiz:用户缓存逻辑类(注:Biz表示业务逻辑)

函数

一个函数在于短小精悍,只作一件事情,并做好这件事。
只做一件事才能得到更好的利用函数名表述自己。

函数的参数应该足够的少,无最好,一次之,再次为二,尽量避免三个以及三个以上。
对于太多的参数可能该采用IntroduceParameterObject(引入参数对象)。

杜绝重复代码,不要对一段代码进行拷贝操作,这样意味着日后维护需要更新多个地方,肯定会出现遗漏,留下隐患。

避免返回NULL。
在开发过程中最常见异常的就是NullReferenceException。
在非特定场景下,要极力的避免返回null。
面对这种场景可以采用null object Pattern(空对象模式)返回特例对象。
如c#类库中的Guid.Empty,string.Empty。
对于集合类型我们可以返回长度0的空集合而非null。

类第一原则应是是小并足够的小。但与函数不同的是函数以代码行数统计,而类以权责统计。
第二原则是:高内聚低耦合。

注释

类需加上大致说明注释,例如:
///


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

public class UserBiz{

/* INNER CODE */

}

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


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

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

/* INNER CODE */

}

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

2017/4/27 V0.1

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/82748.html

相关文章

  • ESLint 在中大型团队的应用实践

    摘要:自动化接入和升级方案通过命令行工具提供一键接入升级能力,同时集成到团队脚手架中,大大降低了工程接入和维护的成本。原始代码经过解析器的解析,在管道中逐一经过所有规则的检查,最终检测出所有不符合规范的代码,并输出为报告。 引言 代码规范是软件开发领域经久不衰的话题,几乎所有工程师在开发过程中都会遇到,并或多或少会思考过这一问题。随着前端应用的大型化和复杂化,越来越多的前端工程师和团队开始重...

    alogy 评论0 收藏0
  • 五阿哥钢铁电商平台Docker容器云平台建设实践——你想知道的都在这里!

    摘要:容器云架构方案。容器云架构方案基于容器技术,运维技术团队开发了五阿哥网站的容器云平台。多云对接私有云和公有云进行统一托管,包含网络区域配置,实例开通及的环境初始化配置等。技术选型及实践镜像标准众所周知,的镜像是分层的。 前言 五阿哥钢铁电商平台(www.wuage.com)是由钢铁行业第一的中国五矿与互联网第一的阿里巴巴联手打造,并充分运用双方股东优势资源,即:阿里巴巴在大数据、电商运...

    jeffrey_up 评论0 收藏0
  • 从鹿晗关晓彤恋情事件看运维的节假日准备工作

    摘要:导语鹿晗关晓彤公布恋情,造成微博服务短暂不可用。业务运维团队负责业务的整体运维,包括业务规划架构部署容灾演练节假日保障等整体协作性工作。 作者:李雄政,10年+ 证券、电信、互联网领域开发、系统集成、运维经验。 现任腾讯高级工程师,负责社交平台业务运维组管理工作。 导语:鹿晗关晓彤公布恋情,造成微博服务短暂不可用。相关的运维们也不得不提前结束国庆假期,执行各种紧急扩容预案。 而腾讯S...

    zhaot 评论0 收藏0
  • 前端开发者手册2019

    摘要:年,和前端开发者与应用程序前端开发者之间产生了巨大的分歧。开发最常见的解决方案有手机和平板的原生应用程序桌面应用程序桌面应用程序原生技术最后,前端开发者可以从浏览器开发中学习到,编写代码不需要考虑浏览器引擎的限制。 前端开发者手册2019 Cody Lindley 编著 原文地址 本手册由Frontend Masters赞助,通过深入现代化的前端工程课程来提高你的技能。 下载:PDF ...

    church 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<