惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
爱范儿
爱范儿
P
Proofpoint News Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
Tailwind CSS Blog
J
Java Code Geeks
宝玉的分享
宝玉的分享
Jina AI
Jina AI
B
Blog
N
Netflix TechBlog - Medium
Recent Announcements
Recent Announcements
aimingoo的专栏
aimingoo的专栏
腾讯CDC
C
Check Point Blog
The Cloudflare Blog
阮一峰的网络日志
阮一峰的网络日志
博客园 - Franky
罗磊的独立博客
B
Blog RSS Feed
WordPress大学
WordPress大学
小众软件
小众软件
博客园 - 叶小钗
M
MIT News - Artificial intelligence
GbyAI
GbyAI

博客园 - 横刀天笑

基于TCPCopy的Dubbo服务引流工具-DubboCopy Netty中的坑(下篇) 编写明显没有错误的代码 Zookeeper-Zookeeper client Zookeeper-Zookeeper leader选举 Zookeeper-Zookeeper启动过程 Zookeeper-Zookeeper的配置 Zookeeper-Zookeeper可以干什么 Zookeeper--Zookeeper是什么 Linux虚拟文件系统(VFS) JVM Spec 4 JVM Spec 1-3 为什么女生总是将手机遗落在卫生间 Java基础知识复习 普罗米修斯观后感 UI自动化测试随笔 Bloom Filter算法 memcached源代码阅读笔记(二):网络处理部分 关于自动化测试
【转载】来自Clean Code的一段话,正好形容公司目前一个系统
横刀天笑 · 2012-06-07 · via 博客园 - 横刀天笑

2012-06-07 22:22  横刀天笑  阅读(2408)  评论()    收藏  举报

混乱的代价

只要你干过两三年编程,就有可能曾被某人的糟糕代码绊倒过。如果编程不止两三年,也有可能被这种代码拖过后腿。进度延缓的过程会很严重。有些团队在项目初期进展迅速,但有那么一两年的时间却慢如蜗行。对代码的每次修改都影响到其他两三处代码。修改无小事。每次添加或修改代码,都得对那堆扭纹柴了然于心,这样才能网上扔更多的扭纹柴。这团乱麻越来越大,再也无法理清,最后束手无策。

随着混乱的增加,团队生产力也持续下降,趋向于零。当生产力下降时,管理层只有一件事可做了:增加更多的人手到项目中,期望提升生产力。可是新人并不熟悉系统的设计。他们搞不清楚什么样的修改符合设计意图,什么样的修改违背设计意图。而且,他们以及团队中的其他人都背负着提升生产力的可怕压力。于是,他们制造更多的混乱,驱动生产力向零那端不断下降。

华丽新设计

最后,开发团队造反了,他们告诉管理层,再也无法在这令人生厌的代码基础上做开发。他们要求做全新的设计。管理层不愿意投入资源完全重启炉灶,但他们也不否认生产力低得可怕。他们只好同意开发者的要求,授权去做一套看上去很美的华丽新设计。

于是就组建了一支新军。谁都想加入这个团队,因为它是张白纸。他们可以重新来过,搞出点真正漂亮的东西来。但只有最优秀、最聪明的家伙被选中。其余人等则继续维护现有系统。

现在两支队伍在竞赛了。新团队必须搭建一套新系统,要能实现旧系统的所有功能。另外,还得跟上对旧系统的持续改动。在新系统功能足以抗衡旧系统之前,管理层不会替换掉旧系统。

竞赛可能会持续极长时间。我就见过延续十年之久的。到了完成的时候,新团队的老成员早已不知去向,而现有成员则要求重新设计一套新系统,因为这套系统太烂了。

假使你经历过哪怕是一小段我谈到的这种事,那么你一定知道,花时间保持代码整洁不但有关效率,还有关生存。