开发策略:凤凰开发周期

Nic*_*ard 4 database project-management

我想知道当你是你自己的老板时,你们实际上是如何开发大型应用程序的。对于我自己,我一直在努力学习耐心和希望的必要性。我一直致力于实现一个应用程序(以一系列链接到数据库的脚本的形式),该应用程序使用 Wikilinks 知识和文章文本/内容的组合来聚类 Wikipedia 文章。我已经做了两年了;还没有结果。

由于算法的本质(伪伪代码、理论算法)或形式(脚本、线程、数据库表、实用算法)发生变化,我似乎无法获得任何结果,因为我正在不断重新设计我的脚本和数据库. 基本上,我发现自己不断从我在实施过程中发现的错误中学习;魔鬼在细节中,答案似乎也是如此。

无论如何,每次我重新设计脚本或表格或其他东西时,我都需要废弃所有文档和脚本。我现在可以毫无畏惧地做到这一点,但这让我讨厌编程(我讨厌细节)。

我觉得重新设计是要走的路,因为我是长期思考的,我希望快速学习,但我想知道你们是否有类似的编程经验,或者你们是否真的不需要或选择有更好的脚本出来最后一个(像凤凰一样)的死亡。

对我来说最难的部分是抓取我的文档,因为我花更多的时间记录而不是编码;我使用文档作为讨论问题和考虑解决方案的手段;我用它来制定可实施的解决方案。如果不是我,我不介意刮它,但我总是像下周发布一样写它,因为我在开发剧本的同时也在寻求发展自己;我也像参与本网站的人一样,尝试与他人分享我的知识或智慧。

无论如何,这两个月我一直在全速发展,重新设计了无数的文章、脚本、表格等;我的耐心正在耗尽,因为我寻求结果。

您想分享任何策略,任何帮助,任何经验或轶事?

Tim*_*ost 15

一个很好的编程座右铭是“愿意并且乐于至少一次扔掉所有东西”,通常更多。我目前正在为一个新的操作系统从头开始编写一个完整的 shell,我即将完全废弃部分设计,我不喜欢我处理内置命令与可加载模块化命令的方式。

这听起来像你一头扎进去,先……很高兴能编写一些代码。从我收集到的信息来看,您确实花了一些时间使用伪代码(我什至使用了一块大的干擦板)来确定代码的结构……但是代码无法在对所述结构进行彻底更改后幸免于难。

您完全孤立地工作可能有一些很好的理由。如果可能的话,正如其他人所建议的那样,请其他人来了解您希望完成的最终结果并敲定新设计。请记住,您的应用程序已被证明是非常不稳定的,新设计不应该让您因为一些事情发生了变化而把所有东西都扔掉。

我认为您也成为所谓的过早优化的受害者。尝试将一些有效的东西放在一起,即使它非常低效和笨重,然后真正花一些时间来研究如何改进。这一步几乎是新设计的先驱,这种设计可以在未来发生根本性的变化。如果你不能把其他人带进来,你当前错误的工作模型几乎和另一个合作者一样好。