11年刚进入一个新部门,接手一个老项目,典型的legacy code , 一个jsp 好几千行,那叫一个乱。
但是细细瞧瞧, 还有不少代码是不错的,依稀能看到漂亮代码的影子,可以想象,当初的架构应该还是优美的,只不过经过了若干程序员之手以后,代码慢慢的腐化了。
07 年做的一个项目也是这样,刚开始的时候设计了一个漂亮的架构,大家都严格遵循规则写代码,很注意维护架构的完整性和一致性,也做Code Review,坚决杜绝 dirty code。 随着时间的推移,项目的进度压力加大,什么原则了,纪律了都抛弃了,实现功能是第一要务, 最后系统变成了一个难于理清的大怪物, 现在大家都盼望着它赶紧退休,推倒重写。
联想到我2010年做的咨询项目,客户是行业的领导者,软件和产品运行在世界各地,原以为代码质量会很不错,进入项目组一看,好家伙,代码够乱的,项目组成员在实现新特性的时候,好多copy&paste , 然后就忙着fix bug 。
我深入的看了它的代码结构, 隐隐约约的看到最初的一些好的原则,模式隐藏在代码的背后,对照现在的代码,让人无限感慨。
代码腐化之路
新项目来了,大家很happy,有机会从头开始构建一个东西,是很难得地,于是仔细小心的设计架构,定下规矩和原则,约定大家都要遵守,刚开始时运转正常,平安无事。
渐渐的出现了一些新情况,需求变动,时间很紧张, 程序员发现有一个非常直接的办法,可以快速的实现客户的要求, 几天就可以搞定, 但是违背了架构的原则或最初的项目的编码约定, 如果想遵循的话,可能需要花费好几倍的工作量,可能需要几周才能完成,更要命的是,为了实现这个新需求,可能需要对整个架构进行调整, 真的调整了,测试跟不上,风险太大, 怎么办?
大多数情况下,程序员都经不起诱惑,也扛不住进度的压力, 会用最直接的办法进行快速修改,“管他呢,先实现再说,反正我还记得细节” ,实际上,改完以后我们又忙着干别的事情去了,过上几个月,自己都看不懂了。久而久之,这些脏代码没有人知道是怎么回事了, 后面接手的程序员就会骂前面的程序员 “这么烂的代码,谁写的!!!???”
代码就是这么腐化的......
分享到:
相关推荐
微服务架构治理 - 架构腐化之谜-Thoughtworks 微服务架构治理是指在微服务架构中,通过合理的设计、实施和管理来确保架构的健康度和可维护性。本文将讨论微服务架构治理的重要性、架构腐化的原因、保持架构健康度的...
1. **重构的意义**:重构的主要目的是使代码更容易理解和修改,避免软件腐化,提高代码的可测试性,并降低未来添加新功能或修复错误的成本。 2. **重构的基本原则**:保持重构过程小而频繁,每次只做微小的改动,...
开发人员常常面对的现实是,即便是最训练有素的开发团队也会写出混乱的代码,而且系统的腐化程度也会日积月累。本书是一部里程碑式的著作,针对大型的、无测试的遗留代码基,提供了从头到尾的方案,让你能够更有效地...
开发人员常常面对的现实是,即便是最训练有素的开发团队也会写出混乱的代码,而且系统的腐化程度也会日积月累。本书是一部里程碑式的著作,针对大型的、无测试的遗留代码基,提供了从头到尾的方案,让你能够更有效地...
通过持续重构,我们可以保持代码的活力,防止代码腐化,从而支持软件的长期健康演进。同时,良好的重构实践也需要配合版本控制系统,以便在出现问题时能够快速回滚。 总结起来,代码重构是一种主动优化代码的策略,...
《ThoughtWorks_持续集成之腐化与涅槃重生》是一个深度探讨IT行业实践案例的资料,特别是关注运维领域的持续集成过程。在这个文档中,作者详细分析了持续集成从理想到现实过程中可能出现的问题,以及如何通过改进...
2. **重构的重要性**:重构能够帮助我们避免代码腐化,保持代码的清晰和整洁,提高软件的可测试性,从而降低维护成本,增强团队的生产力。 3. **重构的原则**:始终保持代码可运行,每次重构的步骤都应小到可以立即...
【描述】提到的"It1995"是在CSDN(中国软件开发网络)上的一篇博客,可能提供了关于如何在Qt环境下使用OpenCV进行图像腐化的详细步骤和示例代码。Qt是一个跨平台的应用程序开发框架,常用于创建图形用户界面。结合...
开发人员常常面对的现实是,即便是最训练有素的开发团队也会写出混乱的代码,而且系统的腐化程度也会日积月累。本书是一部里程碑式的著作,针对大型的、无测试的遗留代码基,提供了从头到尾的方案,让你能够更有效地...
在项目开发过程中,适时地进行重构可以避免代码腐化,使得软件能够适应未来的需求变化。因此,重构成为了持续集成、持续交付等现代软件开发方法中的核心实践之一。 《重构:改善既有代码的设计》这本书还强调了测试...
1. **代码重构的重要性**:重构可以避免代码腐化,保持代码的整洁,提高软件的灵活性和可扩展性。当项目随着时间推移变得庞大复杂时,良好的代码结构显得尤为重要,能够降低维护成本,减少错误。 2. **重构的步骤**...
怎样辨别一个项目代码写得好还是坏?优秀的代码和腐化的代码区别在哪里?怎么让自己写的代码既漂亮又有生命力?接下来将对代码质量的问题进行一些粗略的介绍。也请有过代码质量相关经验的朋友提出宝贵的意见。
它旨在提高代码的可读性、可维护性和可扩展性,同时减少软件腐化。随着面向对象技术,尤其是Java编程语言的广泛应用,由经验不足的开发者编写的低质量代码数量显著增加,这导致应用程序变得效率低下且难以维护和扩展...
开发人员常常面对的现实是,即便是最训练有素的开发团队也会写出混乱的代码,而且系统的腐化程度也会日积月累。本书是一部里程碑式的著作,针对大型的、无测试的遗留代码基,提供了从头到尾的方案,让你能够更有效地...
开发人员常常面对的现实是,即便是最训练有素的开发团队也会写出混乱的代码,而且系统的腐化程度也会日积月累。本书是一部里程碑式的著作,针对大型的、无测试的遗留代码基,提供了从头到尾的方案,让你能够更有效地...
开发人员常常面对的现实是,即便是最训练有素的开发团队也会写出混乱的代码,而且系统的腐化程度也会日积月累。本书是一部里程碑式的著作,针对大型的、无测试的遗留代码基,提供了从头到尾的方案,让你能够更有效地...
通过持续不断地重构,可以避免代码腐化,提高团队的生产力,降低项目的维护成本。因此,《重构-改善既有代码设计》这本书不仅是Java开发者,也是所有程序员都应该深入学习的经典之作。 总结来说,"重构"这一概念是...
本书首先介绍了重构的基本概念,解释了为何在软件开发中需要进行重构,以及重构如何帮助避免代码腐化,保持代码库的健康。作者强调,重构不仅仅是个人技能的体现,更是团队协作的重要组成部分,能够促进代码的共享和...
持续、适时的重构能够保持代码库的健康,防止代码腐化。 总结来说,《重构-改善既有代码的设计》是一本指导开发者如何通过系统化的方法改进代码结构的权威指南,对于任何希望提升软件质量和开发效率的人来说,都是...