写出机器能理解的代码难度不大, 但是能写出容易被大多数人理解并且容易维护的的代码,就不容易了。写出容易理解又容易维护的代码,包括很多方面。这包括,代码组织、程序结构、函数结构、函数、变量命名等等。
这里主要关注命名问题。
Phil Karlton: There are only two hard things in Computer Science:Cache invalidation and naming things.
Phil Karlton 曾说“在计算机科学领域中,有两件事是非常难的,一个是缓存失效,一个是命名。”
怎么做好命名?
- 借鉴目前业界著名公司的代码命名规范
- 具体深入到一些高质量的开源项目:比如Spring 、Zipkin 和SQLite,最好选一些规模不大、代码质量够高的开源项目
- 团队内部如果有好命名技巧的人,读他写的代码,学习、借鉴之
- 大胆犯错、有条件地重构
个人体会
除了上面这些,我觉得最让我受用的思考方式是,写的程序在真实世界,是什么样的?然后,就用人们惯常使用的命名,来模拟真实世界。将一件事情,流程化,然后拆解每一个步骤,然后按步骤、结构化地“命名”。仿生学的一些思考习惯和研究方法,对我也有很大的启发。
(完)