前言


坏习惯很难改变,如果你不知道你的坏习惯正在影响工作,那就更难。如果你知道,但不在乎——这是最糟糕的情况。但好在你已经来这里看了,不是吗?

作为一个程序员,我看到很多不好的做法,不仅仅与代码相关,还包括团队合作能力。我自己曾经就有不少这些坏习惯。这里是我认为最糟糕的 35 个坏习惯,它们涵盖了四大类:组织代码、团队合作、编写代码以及测试和维护。!


组织代码

1.说“我稍后会改”
推迟修复代码这个习惯不仅仅涉及到优先级的问题。跟踪管理问题可能会是不错的选择,但你需要一种方法来跟踪小问题。有一个快捷的方法,添加 “TODO” 注释,它能保证你不错过任何问题。

2. 坚持一行代码解决问题
痴迷于编写高效、优雅的代码是程序员的共同特点。这就像解决一个谜题——你会发现组合函数和正则表达式可以把20行代码变成2至3行。不幸的是,这样写出来的代码并不总是容易阅读,而这通常是更应该重视的事情。先让你的代码可读,然后再说技巧的事情。

3. 无意义的优化
我们常常把工作重心放在另一个错误的地方,就是优化。把网站减少几个字节的大小看起来是很不错,但为什么不让 gzip 来干这个事情?需求不是更重要的事情吗?把优化工作放在项目结束的时候,因为多数情况下需求会变化,这会让你之前花时间进行的优化工作浪费掉。

4. 告诉自己风格问题并不是那么重要
如果说我从多年来观察别人的代码学到了什么,那就是处理编码风格的问题是开发者最可能推迟的事情。缺乏经验的程序员很难看到风格问题的好处,但随着时间推移,这会越来越明显,一旦有代码质量出现问题,雪球效应就会让项目变得一塌糊涂。应该严格要求按最佳实践来工作,即使它们看起来微不足道。使用代码检查工具和静态分析工具可以让你从风格问题中解脱出来关注更重要的事情。

5. 把东西扫到地毯下(不被看见)
捕捉然后忽略异常,或者使用不报告错误的库(比如 jQuery),这些都是在把东西扫到地毯下的作法。如果那些错误中的某一个非常关键,那修复它将会是数倍的挑战,因为你找不到线索,不知道从哪里开始。避免这种事情最简单的办法是把这些被忽略的错误记录到日志中,这样以后还可以研究它们。

6. 使用无意义的名称
命名是件难事,但它是确保变量名称和函数名称高质的简单方法。如果名称中含有其它代码不能传递的信息,别的开发者阅读你的代码时就会觉得轻松。命名之所以如此重要,因为名称可以让人对代码所做的事情产生基本的概念。如果你需要深入计算过程去发现代码的工作,会需要很多时间,但好的名称可以帮助你很快理解代码在干什么。

7. 忽略被证实的最佳实践
代码审查、测试驱动开发、质量保证、自动化部署——它们以及其它一些实践都已经在无数项目证明了其价值所在,也正是如此,开发者们的博客在不断的提到它们。《开发软件:真正的工作是什么,我们为什么要相信它》这本书是关于最佳实践非常不错的参考。花点时间学习如何正确地做事情,你的开发过程就会在所有项目中得到改善,其效果会让你大吃一惊。

协 作