别担心, 我们并不是说你不该写注释. 从嗅觉上说, Comments不是一种坏味道,实际上它们还是一种香气呢, 我们之所以要在这里提到Comments, 是因为人们常常把它们当作除臭剂来使用. 常常会有这样的情况:
你看到一段代码有着长长的注释,然后发现,这些注释之所以存在乃是因为代码很糟糕.
这种情况的发生次数之多,实在令人吃惊.
Comments可以带我们找到本质先前提到的各种坏味道. 找到坏味道后, 我们首先应该以各种重构手法把坏味道去除. 完成之后我们常常会发现: 注释已经变得多余了, 因为代码已经清楚说明了一切.
- 如果你需要注释来解释一块代码做了什么, 试试Extract Method;
- 如果函数已经提炼出来,但还是需要注释来解释其行为,试试Rename Method
- 如果你需要注释说明某些系统的需求规格,试试Introduce Assertion(引入断言)
当你感觉需要填写撰写注释时,请先尝试重构, 试着让所有注释都变得多余
如果你不知道该做什么, 这才是注释的良好运用时机 . 除了用来记录将来的打算之外, 注释还可以用来标记你并无十足把握的区域. 你可以在注释里写下自己"为什么做某某事". 这类信息可以帮助将来的修改者, 尤其是那些健忘的家伙.