c#/js代码命名规范及代码规范

常用命名

列表,lUser
数组,arrUser
字符串,strTitle
用,分割的字符串,strStatuss(多个用逗号分割的状态)
C#
Entity层
统一以E开始,比如EUser,EOrder等
创建的对象为
var eUser=new EUser();
 
Repository层(持久化层)
统一以R开始
简单CURD命名:R+表名,比如RUser等
var rUser=new RUser();
复杂Select命名:R+表名+Select
var rUserSelect=new  RUserSelect();
多表复杂查询命名:R+主表+“_”+链接方式+“_”+副表
RUser_IJ_Order;innerjoin
RUser_LJ_Order;left join 
abswhere实现
Equal,NotEqual,EqualGreatThan,GreatThan,EqualLessThan,LessThan,StartWith,EndWith,Contain等
Service层(服务层/逻辑门面层)
统一以S开始
命名:S+业务简称
var sUser=new SUser();
Model层(封装Entity层的数据门面)
命名:M+主表
MUser,懒加载关联ID和Entity
Json放入Model层中,保证每个字段有一个属性,命名采用Json+业务简称.cs
Json的字段要保证一个显示对应一个字段
 
Controller层
统一以Controller结尾,UserController
 
css/js/jquery
方法名已驼峰式编写,比如ajaxEditUser,searchForm
属性名统一小写,比如insert,popup,update,del等
css/js文件名统一小写,common.js,源文件使用common_source.js
 
关于注释
每个类的头部需要写
每个方法头部需要写
逻辑代码保证五行代码一个注释
复杂逻辑保证两行代码一个注释
 

不信任调用方

检查所有传入参数的合法性

不隐瞒错误

不捕获无法处理的异常,不做异常转义,可自定义业务异常

不公开数据实体

最小依赖

减少依赖有状态组件或服务 尽量选择依赖可以Mock的标准服务(数据库,缓存)

避免过度设计

设计考虑改变,也要注意改变并不一定发生 灵活也意味着成本,不要变成隔山打牛 避免调用过载

抓主线,快速闭环

 

系统开发初期关注主干流程的建设,快速闭环,验证业务是否正确,能否输出想要的结果 后期打磨再把缺少的系统配置,参数修改等功能补上

关注优化性能

瓶颈大部分在IO 较少访问外部资源次数 避免出现笛卡尔乘积 async/await异步不一定快

具备重建能力

可以重新创建一套干净的环境 功能验证(测试驱动开发) 前后端分离 自动化测试

 

posted @ 2015-07-25 17:05  MancosZeng  阅读(328)  评论(0编辑  收藏  举报