做一款APP需要考虑的事情

一、建立一个完善的日志系统

一套完善的日志系统需要解决下面的几个问题:

1、避免无用的日志信息乱飞;
2、日志输出定义好级别:Info、Error、Debug、Warn、Verbose;
3、Server下发指令能够拉取指定用户的某段时间的日志(加密)到后台;

优秀的第三方日志组件:https://github.com/CocoaLumberjack/CocoaLumberjack

二、版本控制Commit Message 规范

新增 # 某项功能开发...
修复 # bug:****
删除 # 某些无用的文件
...

三、代码开发规范

每个人的编码习惯不一样,团队作战相互Review代码的时候累,希望能够输出一个适合本项目的代码开发规范;

四、准备(实时维护)一份编码的守则

把开发过程中经常遇到的一些“坑”记录下来,实时的维护本守则,遵守该守则,避免继续踩坑;

五、统计埋点功能

注意点:

1、前期规划好
2、调研哪家的SDK易用,易扩展,无风险(Crash)
3、在SDK的基础上再次封装一层

六、架构,设计模式

注意点:软件架构设计时需要注意四个要点:简单、有效、可靠、完善;

1、设计模式选型:MVC、MVVM、MVCS;
2、组件化开发:基础组件、业务组件;
3、遵守基本的设计原则:
    * 单一职责原则:原则上讲,一个类只做一件事情;一个方法只做一件事情;
    * 开闭原则:对修改关闭,对扩展开放;程序设计要考虑到后续的扩展,而不是在原有的基础来回修改;
    * 接口隔离原则:例如:按照功能拆分,总协议可以拆分为各种单一职责协议;而不是维护一个庞大臃肿的协议;
    * 依赖倒置原则:上层模块不应该依赖于底层模块,而是依赖于抽象;抽象不应该依赖于细节,而细节依赖于抽象;针对接口编程,不针对于实现编程;
    * 里氏替换原则: 父类可以被子类无缝替换,且原有的功能不受影响;
    * 迪米特法则: 一个类应该对其他类尽可能少的“关联”,实现高内聚,低耦合;

七、后台配置,在线配置

目的:为了线上的APP更加灵活,例如广告、banner、icon更新等;

八、集成Crash监控工具

Crash不可避免,需要搞一下监控工具,如果有精力和能力,可以自己开发一套;


image.png

推荐: bugly.qq.com

九、代码定期Review, 结合Git流版本控制;

十、bug管理工具

十一、项目管理工具

十二、Checklist

上线前的检查必须要做,虽然麻烦,可是稳定;

你可能感兴趣的:(做一款APP需要考虑的事情)