这方面,我想绝大多数程序员都做得很不好。开发习惯比较糟糕。
1、首先我们应该通过各流程图大致了解项目所需要开发的内容、流程逻辑以及各子功能模块的共性(通用UI,如弹窗,结果页面,选择框,输入框,对话框,接口等),提炼出共有的部分,进行封装。
2、在前一步的基础上,花时间,重点思考并讨论定义封装公共模块,封装的时候要注意可扩展性,方便新的情况出现时便于调整。
3、对于复杂的功能/逻辑应该先根据流程图和需求,画类图/开发流程图,同事考虑好各流程之间的交互跳转,画图时不妨将必要的字段或者条件参数也一并加上,并考虑一步的处理。
4、若有必要,并且条件具备,不妨找业务、技术领导对你拟定的开发路线/流程及方案进行评估,业务会从不同的角度出发对你提出的流程逻辑进行评估,助你完善各业务场景。这样后期业务需求上的变更就会少很多。另外技术领导会从技术角度评估你的开发方案,让你的方案更灵活更易扩展。
5、也就是最后一点:才是花时间写代码,前面4步在时间上可以占到整个项目的50%–80%,剩下的20%–50的时间来编码。前面4步做得越详细编码越轻松,bug率越低。
仔细想想,是不是大部分程序员都本末倒置了?