62. 只有代码会告诉你真相
2013-11-16 18:23
190 查看
只有代码会告诉你真相
程序的终极语义由它的运行代码给出。如果它只有二进制的形式,那将非常难以阅读!然而,如果是你的程序、任何典型的商业软件开发、开源项目或者动态的解释型语言程序,都是有源代码的。看一下源代码,程序的意思就应该清楚明了了。要了解一个程序做了什么,源代码是你最终肯定应该看的。即便是最精确的需求文档也没有说明全部真相:它没有包含程序真正做什么的详细信息,只有需求分析中的高层意图。设计文档中可能会包含有计划性的设计,但是缺乏实现的必需细节。这些文档也可能与当前的实现不同步......或者可能已经弄丢了,或者一开始就没有写过。剩下的就只有源代码了。头脑中有了这个观点,问一下你自己,你的代码有多清晰地向你或者其它程序员说明了它在做什么?
你可能会说,“噢,我的注释会告诉你需要知道的一切。”但是记住,注释不是运行代码,它们可能会像其它文档一样是错误的。有一种传统说注释无条件地是好的,因而无疑有些程序员写了越来越多的潘秋,即便是在复述和解释细微的已经很明显的代码。这不是让代码清晰的正确方法。如果你的代码需要注释,可以考虑通过重构让它不需要。冗长的注释可以弄乱你的屏幕空间,甚至可能会被IDE自动隐藏。如果你需要解释一项修改,在版本控制系统的提交信息中做,而不要放在源代码中。
怎么做才能真正让代码尽可能地说明真相呢?努力选择好的名字。结构化代码使功能更内聚,也让命名更轻松;解耦功能实现正交。编写自动化的测试来解释目的行为并检查接口。当知道如何编码一个更容易、更好的解决方案时,毫不犹豫地重构代码。让代码尽可能容易阅读和理解。
像任何其它作品,如诗歌、小品文、公开博客或者重要的电子邮件一样对待你的代码。仔细、精心地表达,它就会做它应该做的,并且尽可能直接地传达它正在做的,这样它就会在你不在旁边时也能传达你的目的。记住有用的代码往往比它计划的要使用更多的时间。负责维护的程序员会感谢你。同时,如果你是一个负责维护的程序员,而代码又不能清楚地告诉你其中的真相,积极主动地应用以上指导吧。在代码中建立理智,并保持自己明智。
原文:Only the Code Tells the Truth by
Peter Sommerlad
相关文章推荐
- [编写高质量代码:改善java程序的151个建议]建议62 警惕数组的浅拷贝
- Linux:多进程、多线程服务器的实现解析(有图有代码有真相!!!)
- jsp+struct标签实现分页(只有jsp代码),内用到迭代标签、if标签、bean
- C++ 结构体数组回调C#代码,c#数组只有一条
- iOS的崩溃率高于Android?来自听云的数据告诉你真相
- 速成班出来的AI人才,老板到底要不要?6位导师告诉你行业真相
- 只有20行Javascript代码!手把手教你写一个页面模板引擎
- 这可能是最精简的Android6.0运行时权限处理方式,只有70行代码。附:各种权限的详细处理
- 只有动手写代码,才能掌握知识,只看不写就是纸上谈兵。
- 百度地图大数据告诉你一线城市真相
- 编写高质量代码改善C#程序的157个建议——建议62:避免嵌套异常
- 大数据告诉你一线城市真相!
- 只有IE能识别的代码
- ios设置导航栏透明方法:使用只有一个像素点的透明图片,通过以下代码即可
- 62.离阳光只有五十米
- myEclipse/Eclipse 自动提示代码?呵呵,来吧!我告诉你
- 解决在SecureCRT中使用VIM编辑代码只有黑白色
- [javascript]简单 方便 易折腾的日历控件,纯javascript支持链式语法,核心代码只有5行
- 只有第三方控件pas代码生成控件
- hibernate学习过程问题(1)--通过代码保存数据时,数据库始终只有一条数据