定义您的问题和要求:准确地弄清楚您想要构建什么以及为什么。如果这随着时间的推移而改变也没关系,但你需要从一些具体的想法开始。把它写出来是个好主意。
制定一个高级计划:确定您的系统的组件是什么样的以及它们如何组合在一起。每个组件都应该扮演一个狭窄的、定义明确的角色。在纸上解决这个问题可能也是一个好主意。
选择您的平台:确定您希望面向的硬件和操作系统,以及最适合您的编程语言和库目标(您已经足够了解可以使用或愿意在此过程中学习)。您可能必须针对特定于操作系统的 API。尝试并确定它们将是什么。
初始化您的项目:使用与您的语言和库关联的包管理器和构建系统,初始化一个新项目。应该有集成/链接库、构建/运行项目和运行测试的功能。您还应该对目录进行版本控制。
开始制作组件原型并编写测试,同时提交这些更改:根据您期望它们在系统中扮演的角色构建事物。编写测试以确保它们在普通和非普通输出上的行为符合预期,理想情况下尽可能多地执行代码覆盖。检查您的代码以确保它基本上是可理解的,坚持您期望的不变量,并正确处理边缘情况。每当您完成一个小的更改或增强时,请提交它。
开始行动:如果您必须进行大量试验,请尝试让一些基本工作正常,然后逐步完成您在版本控制中引入的更改。如果您有一个大的、有风险的变化,或者想要开发一些在很大程度上独立于其他功能的新功能,请启动一个新分支,并在您可以对其进行审查后将其合并。
集成和优化:一旦您拥有组件你已经测试过,编写代码来集成它们,并为你的集成编写测试用例。至此,您应该拥有与您设想的整个程序类似的功能。
偿还债务:一旦您的新功能或行为正常工作,请尝试通过重构代码来偿还技术债务,使其更容易一起工作。用文档填充您的源代码。
申请表