最近由于部门的转换,到了一个新的项目组, 由于这个项目之前经过很多人的手,代码阅读和扩展已经变得不是很好,已经能明显的闻到坏代码的味道,每次新功能的上线往往伴随着更多的代码冗余和新的bug。
于是项目经理决定改善代码质量,做法是强调规范,注重流程。这是个方案估计是目前大都是项目团队解决代码质量采用最多的方法,优势在于有了一个"标准",而标准就是为了实现通用性,但是标准只是解决了浅层的问题,要更好实现一个应用的可持续稳定扩展性,是个需要深层发掘的。
现在的企业应用一般都是遵循迭代模式开发,好处是:
1) 高效:重要的功能先开发,附属增值模块后续上线
2)底风险:一些模块启用关闭,可以在短时间内上下线,这也是web软件的优势
3)高通用:边反馈边开发,及时了解用户需要,一定成度上满足了各种用户的需求,同时也使失败几率降低
4)可控性:团队不会因为“多模块”等长期处于分散情况下
鉴于迭代的这么多优势,很多线上软件都是采用边了解需求,边上线的做法。
但是正式由于这种方式,使得软件设计代码质量的高要求,原因在于后期功能的开发往往依附于早期基石之上,在一个坏的地基上永远建不了高楼。
这是一个迭代过程:

初始:需求的了解;需求UC
细化:系统设计(测试驱动用例);领域模型,详细类图
构造:代码实现,测试用例(规范)
发布:回归,文档备案,总结,下次迭代准备
可以看到规范只在构造中起了作用,而细化一定程度上是构造的模具,而往往被忽略的就是设计。
细化设计虽然不能带来什么效益,没有它依然能实现应用,但我们不是开发半年一年的应用,而是三五年的应用。每次的设计都需要为下次的增量而作准备。

- 大小: 1.4 KB
分享到:
相关推荐
报告“GfK:企业如何在可持续发展与产品性能迭代之间寻求平衡”聚焦于科技行业中一个日益重要的议题,即在满足消费者对环保的关切与保持产品性能进步之间找到平衡。GfK,作为全球知名的市场研究机构,通过其全球战略...
- **适应变化**:随着项目的发展,需求可能会发生变化,迭代开发允许团队在每个迭代中调整计划,以应对这些变化。 - **风险管理**:通过频繁的检查和反馈,可以尽早发现并解决潜在问题,降低项目风险。 - **早期...
3. **环境保护在可持续发展议题中的重要性提升**:游戏企业在开发和运营过程中应更加注重节能减排和环境保护,承担起社会责任。 本报告通过对2021-2025年中国SLG类移动游戏行业的全面分析,为企业提供了丰富的战略...
### 软件工程与软件迭代开发方法 #### 第1章 软件工程概述 **软件工程定义:** 软件工程是一门应用工程原则、方法和工具来开发和维护软件的学科。它主要关注如何有效地组织和管理软件开发过程,以达到提高软件产品...
【架构师如何考虑软件的可持续迭代】 架构设计是软件开发中的关键环节,它涉及到软件的组织结构、技术选型以及如何应对不断变化的业务需求。架构师的角色不仅仅是设计出一个完美的蓝图,更是要在实践中不断调整和...
团队需要深入理解迭代开发的原理,制定合适的转换策略,持续优化以适应自身的工作流程,才能充分实现迭代开发带来的益处。 综上所述,从瀑布型到迭代型的转变,是软件开发行业为了适应现代快速变化的市场和技术环境...
- **可持续发展**:保持开发速度的同时,注重团队的可持续发展。 **敏捷开发的优势** - 提高客户满意度:通过持续交付高质量的软件产品,满足客户的需求。 - 高质量的软件产品:敏捷开发强调持续集成和自动化测试...
总之,迭代化开发是一种更为灵活和高效的软件开发方法,它通过将大型项目分解成一系列可控的小型迭代,从而有效地解决了传统开发方法中存在的诸多问题。这种方法不仅提高了项目的成功率,还提升了产品的质量和用户的...
从瀑布型开发到迭代型开发的转变,是一个在软件工程领域内备受关注的议题,它标志着软件开发模式从线性到循环、从静态到动态、...这一转变的成功实施,将显著提升软件开发的效率和质量,推动软件行业的持续创新和发展。
### 软件工程实践中的敏捷开发与迭代开发模式 #### 第1章:软件工程实践与敏捷开发 **软件工程概述:** 软件工程是一门综合性的学科,它结合了计算机科学、项目管理学等多个领域的知识,旨在提高软件开发的质量与...
- **迭代开发**:一种将大型项目分解为一系列小规模且易于管理的部分的过程。每一部分(迭代)都包含了完整的设计、编码、测试等阶段,通过反复循环这些步骤来逐步构建最终的产品。 - **增量开发**:指将产品的...
公司秉持创新驱动和可持续发展的理念,积累了大量的自主知识产权,拥有一支由专业技术人才组成的研发团队,占员工总数的大部分。这支团队在C++、JAVA、Object C等领域具有国内领先的技术实力,为产品的设计、开发和...
团队需要计划如何偿还这些债务,以确保产品的可持续发展。 11. **数据驱动决策**:总结可能会包含关键绩效指标(KPIs)和度量数据,这些数据有助于团队做出数据驱动的决策,如调整开发策略或优化资源分配。 12. **...
- **Microsoft**:采用增量式迭代开发模式,持续优化产品功能和性能。 - **Spotify**:通过不断发布新功能增量来吸引用户,以小规模实验验证新功能的有效性。 #### 第四章:迭代与增量开发的比较 1. **共同点**...
【可持续发展网站源代码解析与Web开发技术探析】 标题中的“sustainabledev”暗示了这是一个专注于可持续发展主题的网站项目。"Web development source code"表明我们正处理一个关于网页开发的源代码库,可能包含了...
- **区别于增量开发**:增量开发关注于产品的阶段性交付,而迭代开发则侧重于产品的逐步完善。 - **优势**:能够快速获取用户反馈并据此调整产品方向,从而更好地满足用户需求。 #### 第三章:增量与迭代开发的实践...
#### 第一章:软件工程与迭代开发策略 **软件工程概述** 软件工程是一门旨在系统化、规范化地应用工程原理和技术于软件开发、运行与维护的学科。它侧重于通过管理与控制软件开发过程,提升软件产品的质量、开发...
这篇文章将探讨增量开发和迭代开发的起源、发展过程以及它们在软件工程中的应用和演变。 增量开发的核心思想是将一个大型项目分解成多个较小的、可管理的部分,并逐个构建和部署这些部分。在开发过程中,每个增量都...
PHP社区推崇敏捷开发和DevOps文化,采用CI/CD工具如Jenkins、GitLab CI/CD等,自动化测试和部署过程,减少了人为错误,提升了软件质量,同时缩短了产品迭代周期,促进了可持续发展。 7. **教育与培训** PHP的学习...
本报告聚焦于机床行业的现状、发展趋势以及其在当前格局优化和下游产业升级背景下的可持续高景气状态。 一、行业格局优化 1. 行业集中度提升:近年来,中国机床行业通过整合、重组等方式,逐渐提升了行业的集中度...