如何让自己写的代码易维护?

共计 1364 个字符,预计需要花费 4 分钟才能阅读完成。

总结起来还是要有规范,规范到习惯。

 

代码易于维护,分为两个方面:容易阅读理解;容易修改扩展。

一、如何写出容易被阅读和理解的代码

1. 最根本的一条,要向写文章学习,有目录,有大纲,有标题,有段落,有适当的提示。

1.1. 首先是目录结构,这个在一些比较好的实践中,有约定俗成,比如 Rails 应用,app 目录下一定分 controllers、models、views、helpers 四个目录。再加上 config、lib、vender,大致的代码在哪个位置,不用猜都知道。

越是常见的项目类型,越是应该按照约定俗成来构建项目的目录结构,不要别出新裁。

对于没有业内参考的项目,目录结构也尽可能采用简单、易懂、含义固定明确的单词,比如:core、config、test 这样的命名。

1.2. 包名与文件名,在这方面,java 语言的规范非常值得其他语言参考和借鉴,分层组织,合理命名。是最重要的。

1.3. 一个源代码文件里,要不要有注释?我认为,尽可能不要,还是要像写文章一样,让人阅读起来,有感觉。比如:文件名,类名,方法 / 函数名。如果将所有的实际代码全部折叠起来,顺序的阅读这些名字,能不能让阅读者,对于这一个源文件的内容和目的,有大概的了解?

再强调一次顺序阅读,一个 源程序文件内有很多个函数 / 方法,这些方法的排列次序,是有意义的。仅仅依靠调整次序,比如:构造函数,扩展构造函数,简单的读写函数,业务相关的函数。以这样的次序来排列,会更加便于阅读。

在必须写注释的地方,也不要写得太多,言简意赅,把要点用 1.2.3. 讲清楚。

1.4. 变量名,常数名,我们必须一再一再的强调命名的重要性,可以说,命名是软件开发中,头等重要的大事。要简洁、清晰、全英文(决定不要汉语拼音、任意缩写)、尽可能不要夹杂数字,比如 var1、var2 这样的变量名,就是最糟糕的。

2. readme

在项目开发的过程中,定期整理一份 readme,放在项目的根目录,主要包含两部分内容:我们的代码做了些什么?如何查找我们写的代码。

3. wiki

团队开发,尽可能维护一份 wiki,自己架一个 mediawiki 或者其他 wiki,都是很简单的。或者自己架一个 redmine 这样的集成项目管理工具,该有的就都有了。

wiki 的管理维护是一个很大的话题,这里就不再展开了。

4. 单元测试

@李楠 和 @KevinWei 已经提到了。这个办法,既方便阅读理解代码,也方便修改代码。非常重要。

5. Code Review

@KevinWei 也已经提到了。

二、如何写出容易被改写和扩展的代码

1. 单元测试,最好全过程采用 TDD(测试驱动开发)

这样才能让人有信心修改你的代码。

2. 参考业内成熟实践与设计模式

这个事情,要多讲一句,千万不能过头。为了追求可扩展性,可重用性,甚至仅仅是为了玩弄设计模式,会让一个项目成为过度设计的牺牲品,千万不能过头。

3. 定期重构

一上来就向设计模式靠拢是很危险的,重构时以设计模式为参考会好一些。但是,大多时候,我们没时间重构。。。

所以,还是 TDD 最实在,按照 TDD 的工作模式,你的项目几乎每天都有大大小小的重构。

4. 结对编程

这个 @李楠 已经提到了。让知识在团队中不只是一个人掌握,很重要。

大概就是这些吧。。。

来源:http://www.zhuangbiaowei.com/blog/?p=449

正文完
 
zhaopeng
版权声明:本站原创文章,由 zhaopeng 2012-02-13发表,共计1364字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)