知识卡片
方法名代替注释
内容
把一段低层实现提取成命名良好的方法,既说明意图又隐藏细节,比在原方法里堆实现注释更稳定。发散:自描述代码的目标不是零注释,而是让注释从翻译代码转向补充契约。
参考来源
- 位置:《你真的会写代码吗-2021》第7章《让代码说话:可读性》"7.4.2"附近提取方法重构讨论(源文件:_epub-src/OEBPS/Text/0017.xhtml)
- 结论依据:原文明确"添加注释只解释了一些代码,而提取方法既解释了代码,又隐藏了代码——把代码提取到一个单独的方法中……避免了……高层API解释和低层实现之间烦琐地交错在一起",并指出Reference版本靠大量方法内部注释解释每一行是缺陷。
- 原始内容:第3章已经指出了Reference版本实现的一个缺陷:它包含大量的方法内部注释,试图解释每一行代码……一个更好的选择是使用提取方法重构技术……添加注释只解释了一些代码,而提取方法既解释了代码,又隐藏了代码——把代码提取到一个单独的方法中。这样一来,它将原方法中的抽象层次保持在一个更高、更统一的高度。