标签:堆栈 排除 new 利用 switch 不用 循环 配置文件 复杂
1、代码要有注释,注释要规范,提高代码可读性可维护性,特别是业务复杂的时候注释不能缺少,注释标注方法做什么的,什么时间加的,谁加的,解决什么问题等
2、命名要见名知意,类名、方法名等使用Pascal风格,变量,参数名称使用Camel风格,常量定义全大写、名称不宜太长,不要使用非常用缩写,方法参数不宜过多,不能超过6,方法名称和代码复杂度不要太长太高,最好别超过5,不能超过10,特殊情况除外,太长太高的方法需要重构,拆分成多个方法
3、公共方法、公共变量需提取
4、接口少传参数数量,采用json字符串传值,在后台进行解析,外层接口实现方法套try ctach finally,防止异常把整个服务挂死,异常捕获到了需要打印日志或者返回前端显示,内部方法多判断,减少异常,万一有异常,别隐藏了内部错误,抛出到接口层处理即可,外部不容易定位错误
5、配置文件不要写死在代码中,灵活配置,考虑提取到配置文件或者数据库
6、非必要数据库操作太频繁的需要优化
7、所有错误异常都需要打印日志,代码告警需排除,非必要的日志打印上线前注释掉
8、字符串拼接用string.Format,最好不要纯碎的字符串拼接,判断空字符串用string.IsNullOrWhiteSpace(),给变量赋值用string.Empty,.ToString()用Convert.toString(),时间格式WallE.Time.CTimeService
9、if else配套,不要都是if没有else,单纯的多个if else是否能改成switch case
10、循环内建议少写数据库读取
11、不要的代码和无效注释建议全部删除
12、内部方法不要写成public,private能提高安全性,公共方法提取到Common类供复用,已有的方法能复用的复用
13、状态、操作类型,订单状态等建议写成枚举,提高可读性和可维护性
14、使用数组考虑长度和非空,小心数组溢出,报错
15、using连接数据库逻辑块内,不要有操作其他服务接口的逻辑,以免一直占用数据库资源,使用数据库资源只在需要时才打开;简而言之,尽量避免长时间占用数据库资源,不用在using内处理的逻辑在using代码块外处理
16、多线程要考虑线程安全,不要用外层方法内的参数,使用线程内参数,不要用外层的数据库连接对象,容易造成堆栈问题,连接不了数据库
17、调用接口不要放在循环体内,最好利用缓存,同时建议不再在循环体内一直new新的服务对象,循环读取部门等信息,可以考虑将信息放入内存,循环内读取数据比家口快
标签:堆栈 排除 new 利用 switch 不用 循环 配置文件 复杂
原文地址:https://www.cnblogs.com/singlelcx/p/11244014.html