峰值和稳定仅在以下情况下有效:
如果您正在练习敏捷,您可能知道峰值 。 这是一个有时间限制的代码实验,目标是学习。 丹·诺斯(Dan North)提出了一个新的概念,称为“ 峰值和稳定”。 这是一种高纪律模式,目的是通过不花时间在不重要的功能上进行测试,重构和设计,从而快速创造价值。 我们的想法始终是从一个高峰开始,我们将向用户学习,并承诺以后例如使用测试驱动开发 (TDD)来稳定它。 它可以帮助团队将重点放在对客户重要的问题上,并且如果代码没有带来任何价值,也可以避免丢掉代码。
我发现这种方法非常有效,另一方面,我对将凌乱的代码创建到生产代码中并在以后使其稳定的想法感到不满意。 我是Robert C Martin如何描述专业开发人员的忠实拥护者:
专业开发人员切勿推动任何未经测试的代码生产线。 -罗伯特·C·马丁(鲍勃叔叔)
我认为只有将尖峰与生产代码隔离开,S pike和Stabilize才能起作用。 当需要稳定它时,使用TDD,SOLID原理并对其进行清理很容易将实际代码移入生产环境。
在iOS开发中,使用Swift Playground可以很容易地将尖峰与生产代码隔离开。 苹果在博客文章中将其描述为:
交互式游乐场可以帮助您快速原型化和构建应用程序,并提供另一种与代码交互的好方法。
通过与生产代码隔离的原型来探索新功能,使开发人员可以从可行的投资中寻求可行的回报 。 肯特·贝克(Kent Beck)在他的3X概念中对此进行了描述:
冒险寻求可行投资的可行回报。 成功的勘探是无法预测的,因此最高的期望值策略是降低实验成本,并为许多不相关的实验投入少量资金。 如果您幸运的话,这些实验之一证明是出乎意料的成功
最后,我认为所有iOS开发人员都应始终从Swift Playground页面开始,然后将代码拉成看起来像是首先经过测试驱动的形状 🤫。
如果您认为这将有助于其他开发人员更好地开发产品,请随时发表评论和分享。