2022-10-14-读《代码整洁之道》

2022-10-25 18:35:53 浏览数 (1)

《设计模式之禅》读完。开始重读《代码整洁之道》。

命名

  • 用有意义的名字,不用无意义的字符
  • 名字要能够读出来,比如一个表明年月日的变量,不要用 ymd,要用 yearMonthDay
  • 避免误导,不是 List 结构名字就不要有 list,不用用小写英文 l、大写英文 O,和数字 01 傻傻分不清楚
  • 如果一个名字要在很多地方用到,不要太短,要便于搜索,比如一个名字叫 a,那一搜到处都是这字符,基本上不可能定位到想找的名字
  • 变量名不用加 m 前缀,不能提供更多的信息,是冗余
  • 接口名不用添加前缀 I,不用让人特地知道它是接口,原因可能是实现者不一定和接口同名,那样就不需要区分,所以加 I 属于冗余,只有某些情况实现者也用那个名字时,那就给实现者加后缀 Impl

函数

  • 函数要尽可能短小,越小越好,每个函数只负责一件事
  • 函数的选择、循环里只写一句话,调用其他方法,这要求有点高
  • try/catch 里的代码单独抽出一个方法,这结构很丑陋,所以要短小些,catch 之后不要有其他语句,也就要求这个函数只做这个异常处理
  • 函数名不怕长,要尽可能提供明确的描述,用动词
  • 参数越少越好,如果多要考虑源头分拆多个调用,单一职责要求的必然后果
  • 参数很多时,考虑将其封装成对象,这样参数意义更明确
  • 参数不要用布尔值,而是调用者自己判断,然后调用两个不同的方法,意义分得更明确。这就实践中做取舍了,完全这样感觉不太现实
  • 指令与询问分开,要么做一件事,要么返回一件布尔值,只做一件事。太苛刻了,但是如果真的这么严格的话确实可读性变高了
  • 不要有重复代码,若有就单独抽取一个函数

0 人点赞