主要概念
需求管理
需求是基础,没有需求的软件开发是屠龙宝刀,不围绕需求的软件开发是盲目的。是不聚焦的,是没有方向的。
测试
测试是质量保证。没有测试的软件是没有质量保证的,是不敢用的。在修改的时候是没有底气的,很有可能按下葫芦浮起瓢。
覆盖度
测试是有死角的,由于业务逻辑的关系,在有些测试的时候可能无法做到 100% 的覆盖度,那么覆盖不到的代码就可能成为了将来的 Bug 源泉。
持续构建
代码写完之后要进行持续的构建,使得从一开始就能够看到产品的全貌,哪怕其中有些部分是 mock 的,而且要把测试也加进去。
架构
有了需求,有了质量保证,有了持续交付之后,就到了产品设计阶段了。这个设计更多的是高端的设计,先划分成前后端,或者划分为一些模块,然后基于OOP的模式,或者FP的模式进行划分。
用户交互
在架构当中,用户交互式至关重要的,因为这是保证需求的一个重点的接口。
数据持续存储
一个稍微正式一点的软件都需要数据存储。存储的方式,是文件,还是数据库,是 SQL 数据库,还是 NOSQL 数据库就是需要根据业务进展来迭代的。
业务逻辑
业务逻辑如何进行,这往往是编程的核心。但是需要把上述工作做到位之后来进行,这样就更有保障。
版本控制
对于软件开发来说版本控制很重要,其实它弥补了人类的弱点。一步一个脚印的往前走。
文档
文档是软件必不可少的组成部分,不能少,但是也不能重复,必需的要有。