一些代码坏味道

本文探讨了代码质量的七个关键方面:避免业务含义模糊的命名,遵循DRY(Don't Repeat Yourself)原则消除重复代码,精简长函数,优化大类设计,管理多参数,谨慎使用控制语句,以及封装可变数据。通过重构和良好实践,提升代码可读性和维护性。
摘要由CSDN通过智能技术生成

坏味道01:缺乏业务含义的命名

错误命名

  1. 宽泛的命名
  2. 用技术术语命名

命名遵循的原则

  1. 描述意图,而非细节
  2. 面向接口,不面相实现(用books而不是booklist
  3. 使用业务语言(团队内建立词汇表

谨记

好的命名,是体现业务含义的命名(让产品经理要看得懂)

坏味道02:Don’t Repeat Yourself

重复的代码

  1. ctrl CV的代码
  2. 结构重复的代码
  3. if和else中语句高度类似的代码

谨记

不要重复自己,不要复制粘贴

坏味道03:长函数

消灭长函数的原则

  1. 定义好长函数的标准(比如20行为界,团队内定义)
  2. 关注点越多越好,粒度越小越好
  3. 坚守“童子军军规”(“让营地比你来时更干净”)

谨记

把函数写短,越短越好

坏味道04:大类

产生大类的原因

  1. 职责不单一(设计需要符合“单一职责原则”)
  2. 字段未分组

极致

每个类不超过两个字段(正常人做不到,但这个是极致的追求)

谨记

把类写小,越小越好。

坏味道05:多参数

多个参数变化频率相同,封装成一个类

多个参数变化频率不同,静态的作为内部逻辑,动态的封装成多个类

参数中标记(flag)多,将函数拆分成多个函数

谨记

参数越少越好。

坏味道06:滥用控制语句

具体体现

  1. 嵌套的代码
  2. else语句
  3. 重复的switch
  4. 循环语句

规范

  1. 函数最多只有一层缩进
  2. 不要使用else关键字

重构

  1. 卫语句替换嵌套的代码
  2. 多态替换条件表达式

谨记

对于循环和选择语句,要慎重!!!

坏味道06:缺乏封装

过长的消息链(火车残骸)

基本类型偏执

重构方法

1. 隐藏委托关系
2. 以对象取代基本类型

谨记

构建模型,封装散落的代码

坏味道07:可变的数据

暴露的细节

可变的数据

全局数据

编程规则

  1. 限制变化
  2. 尽可能编写不变类
  3. 区分类的性质,实体对象要限制数据的变化。值对象要设计成不变类。
  4. 重构(移除设置函数)

谨记

限制可变的数据

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值