美文网首页
代码简洁之道

代码简洁之道

作者: 巴黎没有摩天轮Li | 来源:发表于2020-11-26 22:24 被阅读0次

第一章 整洁代码

第二章 有意义的命名

  • 名副其实

问题不再于代码的简洁度,而在于代码的模糊度。即上下文在代码中未被明确体现的程度。

  • 避免误导

1、应当避免使用与本意相悖的词。
例如 accountList 来指称一组账号,除非他真的是List类型,List对程序员有特殊意义。所以accountGroup或者bunchOfAccounts,甚至用accounts都会好一些。
2、提防使用外形相似度较高的名称。
例如,想区分模块某处的XYZControllerForEfficientHandlingOfStrings和另一组XYZControllerForEfficientStorageOfStirngs,会花太长时间了。

  • 做有意义的区分

以数字系列命名(a1,a2...)是依意命名的对立面,完全没有提供正确信息以及提供向导作者意图线索。
反面教材:
getActiveAccount()
getActiveAccounts()
getActiveAccountInfo()

  • 使用读得出来的名称

  • 使用可搜索的名称

  • 避免使用编码

1、成员前缀
不必用m_前缀来标明成员变量。应当把类和函数做得足够小,以消除对成员前缀的需要。
2、接口与实现
取消对接口的标识I,比如IShapeFactory改为ShapeFactory。
对实现进行标识,比如ShapeFactoryImpl、CShapeFactory。

  • 避免思维映射

不应当让读者在脑中把你的名称翻译成为他们所熟知的名称,这种问题经常出现在选择是使用问题领域属于还是解决方案领域的术语时。

  • 类名

  • 方法名

  • 别抖机灵

  • 每个概念对应一个词

例如在Android开发,Presenter中进行网络请求,请求方法一般叫requestXXX();那么都固定叫requestXXX(),就不要再搞一些getXXX(),acquireXXX()... 每个概念对应一个词。

  • 别用双关语

避免将同一单词用于不同目的。比如add();

  • 结合涉及问题的领域的名称

反例:firstName、lastName、street.....
正常:addFirstName、addrLastName、addrState...

  • 不要添加没用的语境

第三章 函数

  • 短小

我们常说函数不该长于1屏幕。但是具体要多小呢,不要有100行那么多,20行封顶最好。
1、代码块与缩进
if、else、while语句等,其中代码块应该只占一行,该行大抵应该是一个函数的调用语句。这样不但能保持短小,而且,因为块内调用函数拥有较具说明性的名称。

  • 只做一件事(类似设计模式中的单一职责)

函数应该做一件事。做好这件事。只做这一件事。
如何判断一个函数是否只做了一件事呢?也就是说看一看,函数只是做了该函数名下同一抽象层上的步骤,则函数还是只做了一件事。

  • 每个函数一个抽象层级

  • Switch/if...else...

Switch天生要做很多的事情,只写出一件事的Switch语句也很难。不过有的时候我们可以使用工厂模式,利用多态性来完成使用switch创建对象的过程,将switch对象的创建,隐藏在某个继承关系中。有的时候switch违反了开闭与单一职责原则,所以我们也要就事论事。

  • 使用具有描述性的名称

Ward原则:“如果每个例程都让你感到深合己意,那么就是整洁代码。”要遵守这一原则,在于为只做一件事的小函数起个好名字。函数越短小、功能越集中、就越便于起个好名字。
别害怕长名称。

今天看到这…

相关文章

  • 代码简洁之道

    第一章 有意义的命名(起名是门艺术) 示例代码为伪代码,懂就好 名副其实目的:只需要一个好名称就能知道发什么了什么...

  • 代码简洁之道

    第一章 整洁代码 第二章 有意义的命名 名副其实 问题不再于代码的简洁度,而在于代码的模糊度。即上下文在代码中未被...

  • 代码简洁之道 - 笔记

    1. 什么是整洁代码 我喜欢优雅和高效的代码。代码逻辑应当直截了当,叫缺陷难以隐藏;尽量减少依赖关系,使之便于维护...

  • 代码简洁之道-lombok

    Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。Lombok的使用跟引用jar包一样,可...

  • JavaScript 代码简洁之道

    摘要: 可以说是《Clean Code》的JS代码示例了,值得参考。 原文:JavaScript 代码简洁之道 作...

  • JavaScript代码简洁之道

    JavaScript 代码简洁之道 测试代码质量的唯一方式:别人看你代码时说 f * k 的次数。 代码质量与其整...

  • 【翻译】代码简洁之道

    最近看到一篇文章[https://technologywolf.net/the-top-10-tips-to-wr...

  • 2016读书总结

    1. Architecture & Design 1.1《代码整洁之道》 Fundamental 行文简洁易懂,抽...

  • 代码简洁之道-->函数

    短小 这里说的短小,可不是某种短小哦!函数的第一规则是要短小,第二条规则还是要短小。因此可以看到短小真的很重要。经...

  • 代码简洁之道之easyexcel

    easyExcel是阿里巴巴开源poi插件之一,当前最新版本1.1.2-beta5,poi版本3.17,因此,集成...

网友评论

      本文标题:代码简洁之道

      本文链接:https://www.haomeiwen.com/subject/gooziktx.html