一、前言
1、思考:如何取得平衡?
代码写的太简单,可复用性较低,易读易懂;
代码写的太抽象,有一定的复用性,维护成本较高,需要专人维护,否则可能引起牵一发而动全身的问题。
如何避免过度抽象,过度简单,具备一定抽象性,但是人人都能维护,分离逻辑和配置。
2、软件设计
什么时候选择自顶向下?什么时候选择自底向上?不知道怎么做,先小思做起来,后再思;知道怎么做,先大思开始做,后再思。
3、分析现状
目前代码业务性太强,如果新建业务线,需要读一遍代码,结合具体项目改数据改配置。且一部分push监控在mainApp进行,一部分push监控在find-error-info项目监控。
4、本次开发与之前代码的不同之处
分离逻辑和数据配置,配置层,获取数据,处理数据,选择通知工具,数据推送。添加评论通知功能。
5、旨在解决什么问题
以后如果新起业务线,做类似功能,不用考虑逻辑如何,改改配置文件即可。
二、学习与再设计
1、参考文档
https://gitlab.pahf.com/help/user/project/integrations/webhooks
https://ding-doc.dingtalk.com/doc#/serverapi2/hoy7iv
https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq
2、参考代码
https://gitlab.pahf.com/f2e/find-error-file
3、重新设计的代码
https://gitlab.pahf.com/fe-experienment/monitor-app-server-test
三、问题记录
1、【gitlab】Hook execution failed: Net::ReadTimeout
在gitlab配置钩子,点击test的时候,出现报错。在接口里面添加如下代码即可。
return res.json({
code: 1,
})
再次点击test,出现Ho