软件进化还是软件革命?代码如何成长?
软件的生命周期与成长隐喻
软件如同一个有生命的实体,它会经历孕育、稳定发展、成熟等阶段。之后,它被推向广阔的世界,努力生存并期望获得认可。随着时间推移,它可能会进入中年,失去往日的活力,最终退休,在数字世界中逐渐消逝。
在软件构建方面,有一些有趣的隐喻可以帮助我们理解编程方法:
- 软件生长 :通常是指通过添加新功能来扩展现有软件。但修复漏洞并不属于生长,而是对代码中出现问题的部分进行处理。代码的生长更像是牡蛎孕育珍珠,是通过逐步积累小的额外部分来实现的,我们对代码生长的控制和影响远大于对幼苗生长的控制。
- 软件进化 :我们从一个简单的代码“单细胞生物”开始,逐步将其发展成一个更大、更复杂的程序。这是一个渐进的过程,软件会经历多个进化阶段。不过,与生物进化有几个关键区别:
- 我们是主动进行改变的一方,软件本身不会自行发展。
- 我们不会通过自然选择来挑选最佳设计,因为我们既没有时间也没有意愿去开发同一程序的多个不同变体。但我们可以借鉴进化发展的方式,利用之前版本的经验来改进代码,使其适应“自然环境”,确保其长期生存。
软件腐烂现象
即使是优秀的代码也会出现问题。无论初始设计多么完美,随着时间的推移,代码都会发生扭曲和变形。很多人误以为软件只在初始阶段发展,但实际上,软件开发的维护阶段通常是最长的,大部分的总体工作量都投入到了这个阶段。据统计,40% - 80%的总开发时间都用于维护。
软件发布后不会一成不变,总会有各种问题需要修复,客户也会要求添加新功能,需求会不断变化,开发过程中
超级会员免费看
订阅专栏 解锁全文
1316

被折叠的 条评论
为什么被折叠?



