前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2022-10-14-读《代码整洁之道》

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

作者头像
三流编程
发布2022-10-25 18:35:53
2350
发布2022-10-25 18:35:53
举报

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

命名

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

函数

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

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 命名
  • 函数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档