书名《代码整洁之道》
命名
有意义的命名,使人能读懂
类名和对象名应该是名称或名称短语
方法名应该是动词或动词短语
函数
短小,函数块不要超过一个屏幕
类尽量不要超过1000行
if语句、else语句、while语句等,其中的代码块应该只有一行。该行应该是一个函数调用语句。
函数的缩进层级不该多于一层或二层
函数参数
最理想的函数参数是零,尽量避免三参数函数
尽量避免使用输出参数,使用返回值或者把方法写到对象内部。
标识参数丑陋不堪。向函数传入布尔值简直就是骇人听闻的做法。应该吧函数一分为二。
函数要么做什么事,要么回答什么事,但二者不可兼得。函数应该修改某对象的状态,或是返回该对象的有关信息。两者都干常会导致混乱。
使用异常替代返回错误码。
抽离 Try/Catch 代码块
Try/Catch 代码块丑陋不堪。它们搞乱了代码结构,把错误处理与正常流程混为一谈。最好把 Try 和 Catch 代码块的主体部分抽离出来,另外形成函数。
避免重复
结构化编程
每个函数、函数中的每个代码块都应该有一个入口、一个出口。遵循这些规则,意味着在每个函数中只应该有一个 return 语句,循环中不能有 break 或 continue语句。
格式
代码格式很重要,应该保持良好的代码格式。
变量声明
本地变量应该在函数的顶部声明。实体变量应该在类的顶部声明。
相关函数
若某个函数调用了另外一个,就应该吧他们放到一起,而且调用者应该在被调用者上面。
代码宽度
代码宽度保持在100-120个字符
错误处理
使用异常而非返回码
依调用者需要定义异常类
别返回 null 值
类
单一权责原则
相关文章
- 02-13【数字IC验证快速入门】28、SystemVerilog项目实践之AHB-SRAMC(8)(AHB-SRAMC RTL Code)
- 02-13RocketMq发送消息出现com.alibaba.rocketmq.client.exception.MQBrokerException: CODE: 2 DESC: [TIMEOUT_CLEAN_QUEUE]broker busy, start flow control for a while, period in queue: 201ms, size of queue: 1
- 02-13编码(Code)
- 02-13EF Code First 常用命令
- 02-13如何使用VS Code编写Spring Boot (第二弹)
- 02-13Leet code —Jump Game
- 02-13visual studio code 配置vue开发环境
- 02-13App store 如何使用 promo code | app store 打不开精品推荐和排行榜
- 02-13Visual Stdio Code 插件推荐
- 02-13介绍一个能将任意关键字高亮实现的 Visual Studio Code 扩展