App 开发考虑周全
- 一、日志系统
- 二、提交记录规范
- 三、代码规范
- 四、编程守则
- 五、页面布局规范
- 六、统计埋点
- 七、APP 架构
- 八、异常捕捉
- 九、代码审查
- 十、持续集成
- 十一、Bug 管理系统
- 十二、项目管理
- 十三、CheckList
看了 Limboy's HQ
的文章,结合实际简单整理学习一下
一、日志系统
1、NSLog 使用方便,但是性能一般,而且不宜线上环境开启,容易泄露调试信息(初级会使用 DLog)
2、CocoaLumberjack 性能更好,而且支持文件 Log、系统 Log、调试 Log,舒服又方便,Log 等级可调,Log 文件可操作
CocoaLumberjack:https://github.com/CocoaLumberjack/CocoaLumberjack
二、提交记录规范
1、内容要精确可描述,有时候开发急需求 bug 写一起了,然后又一大坨代码提交的时候就不知道写什么了,写的就会相对模糊,Review 或者回头检查就成了大问题;
2、内容要简洁单内容,不要散乱的好几个不相干的需求或 Bug 一起提交;
3、内容分前缀区分提交类别,【Add】【Change】【Update】【Fix】【Release】【Import】【Delete】
【Add】新增需求
【Change】修改需求
【Update】更新替换,例如证书更新等
【Fix】修复 Bug
【Release】上线发版,顺便打个 Tag
【Import】引入第三方框架
【Delete】删除文件或者素材
三、代码规范
1、十分重要
2、单独整理过
四、编程守则
1、包含了【最佳实践】和【不要踩的坑】
2、需要大量的开发经验和人员维护,例如阿里的【Java 开发手册[华山版]】就是好精华啊,
3、自己还没有维护起来,后面看看别人的借鉴下
五、页面布局规范
1、布局方式多种多样(AutoLayout、sb、xib、frame、第三方等等),不统一的话开发维护困难,看起来也难受
2、个人有 2 种方式开发的比较舒服:1)sb + Masonry + frame;2)Masonry + frame;
3、Apple 推崇的 sb 还是很有优势的,UI 可视化,开发迅速,减少大量代码(性能也不是问题),但还是不喜欢用 Segue 做页面跳转;
六、统计埋点
这个结合产品,对 APP 使用进行分析时有用
七、APP 架构
这个要重点再研究下,大方向基本 MVVM、MVP、MVC
八、异常捕捉
1、友盟统计、Bugly
2、检查线上崩溃,很有必要
九、代码审查
保障代码质量,同时促进双方成长
十、持续集成
Jenkins
提升开发效率,测试也不用等开发打包
十一、Bug 管理系统
禅道
Bug 的一生,记录、重现、修复、验证、发版
十二、项目管理
禅道、其他
细分任务,评估开发时间
十三、CheckList
上线检查重要事项,例如开发环境,相关配置等等