程序员,你应该立马修改有问题的代码

开发 开发工具
这些代码不是我写的,我最好别改。这样的想法是错误的,碰到有问题的代码,身为程序员的你应该主动帮助修改。

  你们正在开发一个新项目,你在一个地方看到一段有问题的代码。错误的处理方式是,“啊,别人写的,我最好别碰它”,“我没有时间去改它——我有自己的事要做”,“如果我修改它,肯定会改出问题”。

  问题是——有问题的代码会越积越多。即使是很小的一段程序,经过一段时间的累计,你很快就能看到它成为一个“由一些菜鸟写的、没人愿意去维护的巨大的历史遗留项目”。有人曾说,超过6个月的项目全是“历史遗留”项目,因为里面都会积累大量的有问题的代码,或用另外一个词——技术债务。

  这就是为什么你要马上修改它们的原因。当你看到一些有问题的代码,或一些不是好的写法的东西——改掉它。立即。否则,当你再次注意到它时就已经太晚了,因为其它的代码就开始依赖它,新的代码会模仿这种编写风格(也许是拷贝/粘贴而来),修改这些东西将会变成你的噩梦。让我们把上面错误的做法纠正:

“啊,别人写的代码,我最好别动它”——什么?你的项目团队的一员,你有“权力”去修改它。如果有人把代码写的很糟糕,他可能并没有意识到自己的代码很烂——所以,他们不会改正它。不要认为改正这些代码会冒犯他们。他们也许会没面子,但不是因为你。“我没有时间去修改它——我有自己的事要做”——这就是你的事。你可以在你的缺陷跟踪里添加上一条任务,写上“重构X”,写上花费的时间。你也可以把它推迟到下一个sprint(如果是敏捷开发)。管理层坚持认为开发新东西比修改旧程序重要吗?告诉他们去读读《重构》这本书或Spolsky的文章..或本文。(也许不管用,但不妨试一试)“如果我修改它,肯定会改出问题”——也许。但是,等一下,你们有单元测试用例,不是吗?还有集成测试,确认测试。如果没有——先把这些补齐了。这样你就不用担心把程序改坏了。

  代码审查是避免这样的代码很重要的方法。如果提交的代码都经过了代码审查,未被察觉的有问题的代码会大幅度的减少。仍然会有,但会少的多。

  对于这样的做法唯一的问题是——如何确定一段代码是有问题、需要改进的?这就需要经验了,需要你熟悉好的开发方法和模式。对这个问题我不能给出一个秘诀。但你需要在团队里有一群能明辨是非的程序员。如果没有——读一读《代码大全(Code Complete)》(以及《Effective Java》,如果你们使用的语言是Java。)

  所以——请马上修改。这会省下你的时间,免去你的头疼,让你对这个项目更有自豪感,而不是“这烂项目是一些菜鸟写的,我只是做了一些辅助的工作。”你不能这样说——如果项目很烂,你难辞其咎。

原文链接:http://www.aqee.net/fix-that-code-immediately/

【编辑推荐】

  1. 初学者必看:如何为代码编写基本的文档
  2. 程序代码里的幽默精神
  3. 读书百遍其义自见 好代码你需要写两遍
  4. Dart语言惯用语——Dart中特有的代码味道
  5. 自己动手开发最好的代码编辑器
责任编辑:彭凡 来源: IT外文评论
相关推荐

2018-05-20 10:07:06

程序员能力学习

2015-08-20 09:06:48

程序员

2015-10-21 17:38:22

程序员全栈工程师

2014-10-20 10:35:15

程序员

2014-11-10 09:40:56

程序员

2015-09-09 09:19:42

程序员自问

2013-05-21 09:36:13

程序员程序员读书

2015-09-09 08:38:20

程序员问题

2021-04-27 15:28:32

程序员技能开发者

2015-07-02 11:20:17

程序员代码

2015-07-23 13:58:52

程序员

2013-04-22 09:15:20

2013-07-10 15:17:20

程序员创业

2013-07-10 10:54:29

程序员读书

2014-11-10 09:46:57

程序员

2009-03-13 15:18:45

程序员饮食杂谈

2017-11-16 11:26:23

程序员习惯

2009-05-21 15:58:12

程序员工作经验职场

2012-09-25 09:28:57

程序员

2017-12-19 20:35:22

程序员中兴事件自杀
点赞
收藏

51CTO技术栈公众号