首页 | 社区 | 博客 | 招聘 | 文章 | 新闻 | 下载 | 读书 | 代码
亲,您未登录哦! 登录 | 注册
 您所在的位置:编程爱好者网站新闻 - 正文
 
 

每个程序员都该知道的10大编码原则

18183 次阅读 | 发布时间:2014-10-22 | 向本站投递新闻
打印文章

        1. 偏执

        这一点与我而言几乎是天生的。我几乎是靠自学才成为了程序员。

        我从不相信电脑,也不相信我刚刚修复的 bug 真的已经修复好了,总之我不相信任何东西。我甚至连自己都不相信。除非多次检验之后,我才会相信我已经如我所愿地理解了问题。

        偏执是我的诤友,而且我认为它也应该成为我们每一个工程师的“左膀右臂”。我们要偏执的是,应该总是想着从另一种方式来证实假设,或者从另一个角度去看我们遗漏了什么。虽然很多时候这显得很鸡肋,但是有时候它能发挥至关重要的作用 。

        2. 不要欺骗电脑

        换言之就是“避免抽象漏洞”(注:抽象泄漏是指任何试图减少或隐藏复杂性的抽象,其实并不能完全屏蔽细节,试图被隐藏的复杂细节总是可能会泄漏出来)。系统该怎么用就怎么用,不要别出心裁自创用法。不要指望会出现什么奇迹。

        如果系统使用规模超过当前的三倍,那么就得考虑重新设计。

        电脑是最诚实的孩子,如果你欺骗了它,它绝对会狠狠地反咬一口。

        3. 简单就好

        我们喜欢创建一些新事物、解决一些疑难杂症。这也是为什么我们干这一行的原因。但是很多时候,我们发现某个问题可以解决,却并不意味着现在就是解决它的好时机。

        我总是觉得自己是个爱自找麻烦的程序员——我喜欢干净简单易于理解的设计。别以为这很容易,相反这是一个难度不小的挑战——以一种复杂的方式解 决问题谁都能办到,但是只有优秀的程序员才能用一种既简单又易于理解的方式解决问题。特别是要真正直截了当地思考出问题的关键就更是难上加难了。

        理解是重点,要知道程序员大部分时间是在维护代码,而不是写代码。

        4. 优化第一戒律就是不要优化

        这一点来自于 John Bentley 所著的经典书籍《编程珠玑》。(它旨在帮助我们像一个经验丰富的程序员一样思考。虽然已经发行了好多年,但是上面的很多经验教训仍然适用于当今社会。)

        优化可以采取多种形式:速度、后验形式、潜在规模、可能用途,等等。

        问题在于,大多数的优化最终是没人用的,而且从定义上看,优化或多或少会使得设计更加复杂。所以,优化的第一戒律就是不要优化,除非你完全理解整个问题。(他的第二戒律依然是:“不要优化”,意即即使你理解了,但是除非你真的需要才能去优化。)

        5. 不要仅仅修复 bug;要修复所有可能发生 bug 的地方

        对于自己犯的错误,没必要耿耿于怀。每个人都讨厌出现 bug,我也是。

        我讨厌会让我犯错的系统。而且我真的非常非常讨厌去修复同样的 bug,所以为了避免这种情况,每当我修复一个 bug 时,我就会思考以下问题:这种 bug 现在还有可能出现在哪里?以后又比较容易出现在什么地方?是什么原因造成了这种模式的 bug?我能不能一下子一网打尽呢?

        6. 不断地做问题假设

        因为我大部分时间都是在搞我自己的创业公司,所以我养成了一个不断询问自己的习惯“为什么要这么做?这能解决什么问题?有没有更好的方法?有没有什么更重要的事情是我还没做到的?”

        我们应该一直保持这种态度,不断地询问自己这些假设情况。什么是真正需要解决的问题?是不是只要求解决效果而不必追究根本原因?解决方案完整吗?完备吗?值得吗?

        7. . 从长远角度思考。放慢脚步,才能跑得更快

        这可能是最重要的一点了。作为工程师,我们享受于高效的工作效率:喜欢不断地创建、创建、创建。但是如果我们不能用长远的角度看问题,只会作茧自缚,使得最后越来越难构建任何东西。