需求评估
产品经理、开发工程师、测试工程师,组织需求评审会议,讲解本次的开发功能。
开发需分析:
- 是否涉及到其他开发部门?
- 是否需要创建数据库/数据表?
- 本次需要做多少页面?
- 有多少功能点,哪些是功能难点?
根据以上,给出开发工期(X/人/天)。
跨部门沟通
沟通确定后,沟通结果以邮件的形式确认抄送相关Leader。
创建/更改 数据库
根据公司要求规范操作数据表,确定后邮件抄送相关开发。
相关SQL语句,需要Leader、DBA 审核,方可部署。
静态页面开发
目前后台项目大部分使用 BootStrap,自己拼页面即可。
需要考虑:
- 代码整洁性(标签元素对齐,DIV区块注释)。
- 界面适配(BootStrap 栅格系统)。
- Js 相关验证(尽量自己学js类库,不要写在界面中)。
- 产品验收(确认界面元素是否满足使用习惯)。
个人感觉界面做的漂亮,成就感也是满满的。
程序逻辑代码开发
需要考虑:
- 复杂的逻辑可以自己先画流程图(
ProcessOn
)。 - 遵循 PHP 代码规范(
PSR
)。 - 代码注释(重要、重要、重要)。
- 数据验证(对前端提交的数据进行二次验证)。
- 功能逻辑(考虑类库封装,代码复用)。
- 性能问题(是否需要用到缓存)。
- 安全问题(XSS、Sql注入)。
- 日志问题(记录相关日志)。
- 错误报警(可供参考)。
目前就考虑到以上这些。
功能自测
程序开发完毕后,需要自己先进行测试,走一遍全部流程。
需要考虑:
- 创建一些测试数据。
- 考虑功能的临界值。
- 确保功能的可用性。
- 其他。
代码评审(Code Review)
代码评审被公认为是一个很好的提高代码质量的手段。
好处:
- 加速个人的成长,让自己成为一个更优秀的程序员。
- 可以分享/学习到更多的知识。
- 保证代码清晰,容易被别人理解。
- 提前发现一些缺陷(代码检查者通常比代码编写者更挑剔)。
一些开源系统:
- Phabricator
- ReviewNinja
- Codacy
- RhodeCode
- Gerrit
如果有好的工具帮助我们进行codereview,往往会达到事半功倍的效果。
WIKI 更新
将自己开发的功能模块,部署到WIKI上。
写好需求方、开发者、使用者、是否用到API、相关逻辑、流程图...
功能提测
通知测试人员,该需求可以提测啦~
根据公司要求,可以进行邮件提测,也可以JIRA管理。
以上,只是大概的讲述了开发流程。
其实每一个步骤,都可以进行详细分析,比如代码注释,评审规范等等。
有问题,欢迎大家留言讨论。
Thanks ~