workflow-specification(工作流程:项目管理)
工作流程管理
一、需求定型阶段
-
确定开发
- 确定项目开发工作人员
-
需求分析
- 保证精细、完善的分析,以理解项目的 页面结构 及 工作流程
-
确定排期
- 冻结开发需求,确定项目排期(研发评估开发周期)
二、开发阶段
-
代码管理(版本控制)
- 确定项目工程,搭建局域网 gitlab (前端工程 与 服务端工程)
- 确定开发服务器,并规范发布周期(定时部署代码)
- 前端可用 webstrom 链接服务器开发(利用 Jenkins 进行代码部署)
- 服务端可以 jenkins 进行代码部署
-
开发日志
- 在开发日志(如 log.txt)中简要标明开发日期及当前的版本,以及本次更新增加的功能、本次更新的需求方负责人等信息。
-
文档先行
- 分析需求后,根据需求先写开发文档(最好有流程图)
-
编码规范
二、输出阶段
-
交付代码
- 删除不必要的、临时性的注释文字,压缩/合并图片资源。
- 开发的项目经充分自测后交由测试,是否按照需求与测试用例相符
-
代码部署
- 由研发配合运维人员将代码部署到线上服务器
-
经验总结
- 将项目遇到的问题进行总结,并讨论分享解决方案
编码规范管理
一、HTML
- 经验总结
- 将项目遇到的问题进行总结,并讨论分享解决方案
二、CSS
三、JavaScript
-
1.基本约定
- 尽量在比较两个值是否相等时使用恒等运算符 === 和 !== 进行。
这样可以避免进行比较时,两边的值会自动转换类型。减少自动转换类型带来的不确定性可以提高代码的可读性。
- 避免使用 && 和 || 运算符代替 if 语句。
可以利用 JavaScript 逻辑运算符 && 和 || 的“短路”特性来精简代码,但仅应将其使用在“表达式”中,而不要作为一条单独的语句来使用。
// -----代替 if 使用的 && 和 || 运算符,代码不够直观: someObject && someObject.someMethod && someObject.someMethod(); someVariable || someVariable = someValue; // -----这样书写代码有更好的可读性: if (someObject && someObject.someMethod) { someObject.someMethod(); } if (!someVariable) { someVariable = someValue; }
- 使用可读性更好的类型转换方式。
- String(value)
- !!value
- +value
- 尽量避免三层及以上的 if 嵌套,提高可读性
if (a) { // deal your code in a if (b) { // deal your other code in b if (c) { //deal your other code in c } } } if (!a) { return false; } // deal your code in a if (!b) { return false; } // deal your other code in b if (!c) { return false; } //deal your other code in c
四、文件创建规范
这部分规范适用于所有 WEB 前端开发所涉及到的文件。
创建目录和文件是开发阶段的一个重要步骤,目录的层级结构是否清晰、文件的名称是否直观,是评价代码质量的一个重要标准。
- 1.文件名与存储路径
- 文件名(包括目录名和文件名)应仅由英文小写字母、小数点、连字符和下划线组成。