编写整洁的代码(一)
能编写整洁的代码是衡量一个程序员能力的标准之一。所谓整洁的代码,我认为至少应该是可读性高,没有多余的代码,逻辑清晰,即使刚接触代码的人来读,也能很容易理解的代码。为了给自己总结总结,决定写一写这方面的体会。
在一般的项目中,往往存在很多的分支和条件判断语句。往往一开始时,代码的逻辑比较清晰简单,但随着需求的增加和变更,模块中的分支就会多起来,而且开发人员往往由于发布时间所限,往往都是实现了机能就算完了。但这样的代码往往在今后的维护和变更时需要开发人员,维护人员付出大量的时间和精力去理解它。所以,除了在开发时,注意及时重构外,我们要思考解决这类问题的方法。
在之前做过一些项目中,特别是嵌入式的项目,我发现很多代码都是写成表的形式,也就是一个数组的形式,把某一个特定条件下的函数或模块放在同一个元素中,然后外部应用模块根据相应的逻辑进行查表访问。这样,在应用程序角度看,逻辑就简单了很多。道理其实很简单,就是把应用层的分支,集中写成映射的模式,往后需要添加功能块,只要在表中增加相应的项。在需要更改功能的时候,只需要对负责这个机能的模块进行变更,程序的维护性就大大提高了。
在其他的一些项目中,我也遇到了类似的情况,往往分支很多,不管是if else还是switch case,因为这类型的项目不像上一种类型的项目那样可以把大量的逻辑抽取出来形成表的形式,所以在这些项目中采用前者的做法就不大合适。这中间有一个权衡的问题。我一般采用的方法是将复杂的逻辑打散,把机能上能够同属于一种类型的函数分入一个新类中,这种做法本质上没有减少分支数的多少,只是把各个分支根据不同的功能分散到不同的类里面。将属于某个类权限下的分支交给该类负责,这样也便于代码的阅读者更容易理解。这种做法,其实是面向对象的考虑,怎样把逻辑抽象出来。在这个抽象的过程中,也有个值得考虑的问题,即对于创建新类,不能为了减少分支而盲目创建更多的新类,虽然分支数减少了,但增加大量的类后,也会让阅读代码的人感到困惑。
posted on 2011-01-17 00:52 ActiveChange 阅读(233) 评论(0) 收藏 举报