堆栈溢出或邮件列表中
以下是几种流行的、甚至是行业标准的开发“方法”:
炒作驱动发展-你要么是一家初创公司,要么你可以自由选择你喜欢的新cool-cutting-edge-distrupting-innovative-did-I-say-cool项目的任何技术。使用什么技术?当然,最近被夸大的那些。让我们在Node.js中这样做,您必须使其具有反应性,并执行DevOps,即使您的Linux体验仅限于在桌面上运行Ubuntu,并将数据存储在MongoDB中(它是web规模的!)。说到网络规模,你显然需要去云。然后突然之间,你有了一个无法理解的代码库,服务器崩溃,页面需要一秒钟的时间来加载,你不时地丢失数据,而且你无法进行实际的缩放。但是,嘿,你使用了尖端的,网络规模的反应技术,当你开始的时候你不明白,并且不适用于你的领域。但是现在你写了一篇博客,描述了如何解决他们的问题,这个问题已经用其他技术解决了几十年。你把它发到黑客新闻上,助长了炒作。
演示驱动开发-你在一个团队中工作,这是一个采用敏捷/Scrum的大型组织的一部分。或者你是一个“精益创业”,并定义项目的动态。在这两种情况下,项目没有一个明确的目标,但不知何故,资金被投入到它,所以它必须继续下去。最终的结果似乎并不重要,但是过程必须遵循,并且您需要能够向涉众演示一些东西。因此,您在编写代码时忽略了应该在生产中使用它的事实,编写它只是为了使其降级。在小剂量这是好的,因为能够显示的东西确实是有益的项目,虽然没有一部分内在价值的产品。但是你很容易就会做得太过火了,最后工作了一年,把那些完全没用的东西降职了。
https://www.douban.com/note/824466459/
复制粘贴驱动开发-适用于多种情况。如果团队由许多初级程序员组成,而只有一位资深的“kinder花园专家”,或者项目中的工程师经常来来往往,没有时间去真正理解它,或者如果公司有许多非常相似的项目,但是没有资源来构建一个通用的可重用工具包,那么通常的开发实践就是从现有项目或特性中复制代码并将其粘贴到新的项目中,更改变量和方法的名称。另一种风格是从堆栈溢出或邮件列表中粘贴片段。这可能会持续一段时间,而且代码的一致性通常是很好的。但是,通常情况下,您将得到没有明显原因的代码,而且没有人知道它是如何工作的,更重要的是,它为什么工作。或者不起作用。(此方法特别适用于测试代码)
拒绝驱动开发-当工程或建筑师的主管仅仅因为他们的年龄和不能或不愿意再找工作而被任命时,应避开所有框架和图书馆,坚持一切都应在内部编写。(这与“炒作驱动的开发”相反)。你可以处理很多低级和复杂的事情。成就感真的很高,你会对每个使用小框架的人进行编辑和火焰。唯一的缺点是,每件事都会中断,开发特性需要两倍的时间(如果你真的达到了特性开发阶段),每个新的团队成员都必须先完成一个为期3个月的入门课程。但是,最后,你至少有一个没有人使用的坚实的框架,不处理现实世界的案件,而且你可能不能开放资源,因为它是专有的。
如果您正在使用这些方法,您可能有麻烦,但如果您还没有意识到,这篇文章可能不会有任何用处。我甚至都没教你怎么修。好吧,我可以告诉你怎么修理-明智。但那太难了。