大多数时候,我一直在为自己或学习的好处编写小应用程序。现在我的编程技能被认为是中等水平,我想知道如何处理一个大型编程项目。
假设我想制作一个具有很多功能的应用程序,旨在供他人使用,而不仅仅是我自己;我该如何规划此类项目?
我是直接跳进去开始编码,还是有一些推荐的过程?
提前致谢
大多数时候,我一直在为自己或学习的好处编写小应用程序。现在我的编程技能被认为是中等水平,我想知道如何处理一个大型编程项目。
假设我想制作一个具有很多功能的应用程序,旨在供他人使用,而不仅仅是我自己;我该如何规划此类项目?
我是直接跳进去开始编码,还是有一些推荐的过程?
提前致谢
尽管史蒂夫有一个很好的建议,但我认为这个答案可能有点超出你的水平。
如何超越你一直在做的事情的“简化”版本是:
在每一点停下来做一个现实检查。例如,屏幕有意义吗?信息的组织方式是否良好?您可能在哪些方面遇到问题?等等
最重要的是,与实际使用该产品的人保持沟通。
此外,它们是成功项目的两个关键。首先是将其分解为可管理的部分。换句话说,将其分解,以便您可以快速交付每一件,称该件完成,然后进行下一件。这将帮助您保持专注,而不是太过分了。
其次,使用你所知道的。向上移动时,不要以此为契机来扩展您的编码技能。相反,您的重点将放在学习项目管理上。
在您完成一到两次迭代之后,请查看各种软件开发方法,例如 scrum、瀑布等,看看它们能为您提供什么。
祝你好运!
您想要查看的一些东西是一个工具链,包括源代码控制、单元测试、文档、自动构建、持续集成、错误跟踪等。这个级别的程序很快就会变得非常复杂。所以你绝对不想开始编码。您将想要制定程序应该做的事情的列表。然后将此列表细化为必备品,这将是一个完美的世界。从这个列表中,您可以开始设计数据库模式、屏幕设计和类结构(假设 OOP)。
这本书基于 Web 应用程序,但无论您使用哪种语言,它的大部分内容都同样适用:
您还需要考虑通信,这种复杂程度的大多数应用程序都不是一个人的产品,而是一个团队的产品。因此有效的沟通和团队合作,成为非常重要的考虑因素。
到目前为止,这并不是您创建成功产品所需的一切,但应该让您朝着正确的方向前进。