一些开发人员在接到任务时会直接进入 IDE 并以很少的设计开始编码。他们可能在编码时对应用程序的去向有所了解。我是这些开发人员之一。我这样做是因为我觉得如果我花很多时间来设计我的应用程序交付时间会比我只是坐着编码我的想法要长得多。我的问题是应用程序设计如何影响项目的交付时间,它是否比敏捷方式编码有很大优势?
5 回答
给你举个例子,当你想旅行时,如果你的目的地在你的城镇附近或在你的城镇,你可以马上开始。当你想去另一个国家旅行时,你需要先把自己打包。
设计是为了准备,没有它,你不能走得太远(或走错路)。
这不是一个非黑即白的情况:对于一些项目来说,最好是跳进去开始编码,对于一些项目来说,最好有一个广泛的计划阶段,而对于另一些项目来说,这不是很明确。
如果项目小而简单,只有一个开发人员在做,而且如何构建它是显而易见的,他们可以在脑海中想象它的各个方面,那么他们可以很好地跳入并开始设计。
当您有多个开发人员时,或者当项目足够大且足够复杂以至于开发人员无法从一开始就知道它的工作方式时,就需要进行更广泛的规划,因为了解它的所有方面太复杂了在你的脑海里。
仅当您自己工作时,这种方法才真正有效。如果你必须在一个团队中工作,那么制定一个好的计划很重要,这样其他人都知道你认为的最终目标是什么。这不会降低创造力,它只是让您确保每个人都在同一页面上,并且减少了混淆的机会。
(来源:yang.id.au)
你所描述的内容只有在你写的东西很好理解和包含的情况下才会有效。如果它与您编写的其他软件相似,则不需要新设计,因为您可以重复使用旧设计。但是,如果它是全新的东西,动态设计将会变得昂贵。你会发现自己重写了太多的代码,或者更糟的是,被糟糕的架构卡住了,这会减慢你的速度。同样,如果您需要可扩展代码,则需要提前计划。如果您需要它与其他人的组件一起使用,则需要提前计划。
只是为您的方程式场景添加一条思路,让我在以后贡献一点:我在一家名为 YES INTERNATIONAL CORPORATION (www.yesintl.com.au) 的公司工作 有时,确实会发生开发人员之前可能已经开发过一些东西所以在那种情况下,设计已经在脑海中。例如,我过去开发过数据库解决方案,当我坐下来开始开发项目时,与我们的竞争对手相比,这使我们成为一个交付速度非常快的公司。随着时间的推移,更多的经验会让你变得超级完美......我希望这会有所帮助......安迪