方法论,顾名思义,是通过日常项目的洗礼,经过自己的锤炼,形成一套方法体系。
在前端中,有着各种各样的方法论,每个人的方法论也不一样。那么我的思路是如何形成一套排查错误的方法论。
我们的项目在上线后,我的思考是:容灾和监控是我们项目的最后一道保障,我们应当尽量在编码和测试阶段,进行规避。
- 编码阶段:实行code review,利用Git的的代码评审机制,让同组的同事对当前项目的代码进行评审,指导代码中不合理的地方,尽快修改。
- 单元测试:单元测试并不是为了编写大覆盖率、可通过的代码,而是希望从使用者(调用者)的角度,来测试代码逻辑的各种可能性,进而辅助性地增强代码的健壮性
我们也在整个项目中加入了各种的监控和日志机制,例如我们在前端使用performance
来监控页面的性能,同时,我们也设置预警机制,当超过我们设定的上限时,给我们提供告警信息,方便我们能够及时地响应。
1. 排查线上出现的问题 #
例如,我们在某一天,忽然收到告警信息,整体页面的加载时间增加、错误率提升,超过了我设定的阈值,再经过记录的详细日志查看,发现加载了很多的空白图片,再通过这个信息经过深入地排查后,发现最终的问题是:头像图片服务器出现波动,导致接口返回了空的图片地址,然后前端加载了各种空的图片。找到出现的原因后,我这里做的修复措施是:将头像图片设置为懒加载,同时,为空的图片地址添加默认的头像地址。
2. 总结出的方法论 #
通过上面刚才的举例,我们也能总结出一套排查问题的方法论:
- 高效详细的反馈机制;
- 发现问题;
- 分析定位问题;
- 解决问题
最终形成自己的一套方法论。
这套方法论可以推广其他的项目中使用,当有新项目上线时,首先应该建立有效的反馈和错误收集机制,然后才能进行快速的响应,最终解决问题。而不是永远等着用户的反馈,当出现用户的反馈时,必然是出现了特别严重的问题。