规范【G1】好代码

目录

定义

特性

高内聚低耦合

可读性

命名

坏的代码


定义

衡量代码质量的唯一有效标准:WTF/min —— Robert C. Martin

任何一个傻瓜都能写出计算机可以理解的代码。唯有写出人类容易理解的代码,才是优秀的程序员。—— Martin Fowler

整洁的代码如同优美的散文。—— Grady Booch

 

特性

高内聚低耦合

  • 开闭原则 OCP (The Open-Close Principle)
  • 单一职责原则 SRP (Single Responsibility Principle)
  • 依赖倒置原则 DIP (Dependence Inversion Principle)
  • 最少知识原则 LKP (Least Knowledge Principle)) / 迪米特法则 (Law Of Demeter)
  • 里氏替换原则 LSP (Liskov Substitution Principle)
  • 接口隔离原则 ISP (Interface Segregation Principle)
  • 组合/聚合复用原则 CARP (Composite/Aggregate Reuse Principle)

 

可读性

命名

大到项目名、包名、类名,小到方法名、变量名、参数名,甚至是一个临时变量的名称,其命名都是很严肃的事,好的名字需要斟酌。

  • 名副其实       好的名称一定是名副其实的,不需要注释解释即可明白其含义的。
  • 容易区分       好的名称容易区分 
  • 可读的          名称一定是可读的,易读的,最好不要用自创的缩写,或者中英文混写
  • 足够短          名称当然不是越长越好,应该在足够表达其含义的情况下越短越好。
  • 格式             良好的代码格式也是提高可读性非常重要的一环,分为垂直格式和水平格式。
  • 垂直格式      通常一行只写一个表达式或者子句。一组代码代表一个完整的思路,不同组的代码中间用空行间隔。
  • 水平格式      要有适当的缩进和空格
  •  团队统一
  • 类和函数应短小,更短小
  • 函数只做一件事(同一层次的事)
  • 参数越少越好
  • 别给糟糕的代码加注释,重构它
  • 好的注释提供信息、表达意图、阐释、警告
  • 删除掉注释的代码
  • 错误处理很重要,但他不能搞乱代码逻辑
  • 抛出异常时提供足够多的环境和说明,方便排查问题
  • 特例模型可消除异常控制或者 null 判断
  • 尽量不要返回 null ,不要传 null 参数

 

坏的代码

  • 重复
  • 函数过长、类过大、参数过长
  •  发散式变化、霰弹式修改、依恋情结
  • 数据泥团
  • 过多的 if...else 或者使用 switch

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值