标签:
五一期间,以前的同事在qq上问了一个问题:
你认为什么样的代码是高质量的代码?
当时由于在外地游玩,没有及时回复。今天抽出时间,回复了一下他:
这个问题说难不难,说简单也不简单。每个人所处的水平、经验、喜好都会影响对代码质量的理解。以下是我认为的高质量代码:
1.可读性。能让大多数的人都看懂。除了变量命名、函数规模及组合方式等基本因素外,所选语言的表达能力,也会影响可读性。Ruby的表达能力就比Java、C#更高级。
除了对模块的整体注释之外,代码中应该尽可能减少注释,除非有产生二义性的部分。因为代码才是最终的产物,是所有逻辑的载体,过多的注释不仅会打断阅读的思路,还会使代码杂乱不堪。
2.可维护性。函数是最小的功能单元,要确保它的功能是单一的,并且规模要尽可能的小。这样在细节方面,代码就容易修改。
如何控制变化是维护的核心问题。一般均采用延迟实现的方式,将变化转移到能够应对它的位置。常用的方法有委托和继承。
委托将变化转移到当前模块的外部,同时也使外部的逻辑注入到当前模块的内部,提高了代码的灵活性,这里的委托不局限于C#中以delegate关键字定义的类型,它是一种将变化委托给其他模块应对的方式。
继承使变化沿着继承的链条向子类传递,直到有子类可以应对这种变化。这样父类成为了算法的模板,子类的实现使它具有了灵活性。
3.健壮性。对于一般的错误,要提供补救的措施,使程序能够继续运行。严重的错误,需要对数据进行保护,同时终止程序的运行,以免错误进行累计,出现更严重的错误。
先就说这些吧,这种问题没有终极的答案,也没有完整的答案。想必你也看了网上很多的观点,那大多数人都认同的,就可以作为标准,他们都有可能是阅读或者维护你代码的人。
以上就是本人的一点拙见。
标签:
原文地址:http://www.cnblogs.com/zhiyi/p/5456664.html