【唠叨】工作方法与个人心得总结 - 1

最近有些心得(并且我认为每一条都很重要! 很重要 很重要!),特此唠叨总结一下。

让我们带着问题来看

  • 如何保证代码bug率无限低?
  • 如何保证线上出问题概率降至无限小?
  • 如何提高工作效率?

开发前

  1. 需求评审时候(一定要提前看需求设计与原型图),多沟通,多思考,不要人家说什么都无脑答应,应该有自己想法,要考虑对方说的是否合理性,是否与现有逻辑相悖
  2. 仔细研磨原型图,业务逻辑一定要熟知,把每一个细节尽可能想清楚并写出来
  3. 架构设计,表设计以及代码实现设计,需要深思酌虑,代码逻辑实现最好画出图,如 常见的 uml 时序图,架构的话画出架构图,技术栈一定要想清楚,不要选择最牛逼,最高大上的,而是选择最适合的

开发时

  1. 每一行代码要知道其风险,遵循干净,稳定,可拓展,好排查的原则
  2. 考虑数据量大时候,或者流量瞬间猛增时,你打代码是否能承受的住?如果承受不住 需要做处理  如 ( 异步,队列,多线程,分批思想,缓存,db分片 等等)

  3. 尽量规范化 包括命名规范,代码规范,适当时候使用设计模式,分层规范,项目结构规范等。

  4. 日志打印时候,不要不打,也不要打印很大的对象,比如长度很长的集合,很大的sql 等  这样刷屏会刷到怀疑人生,因为我亲尝过
  5. 必要情况下,造数据,进行压测

测试时

  1. 对每一行代码都必须测试!!! 对自己可以自信,但是对自己写的代码,切勿自信!  测试后再有自信也为时不晚!!!
  2. 对新开发的,或者 修补的代码 更需要测试(尤其是改动较多时候,一定要测试,很有可能有潜在bug) 归为一句话  不要相信每一行没测试的代码!!!
  3. 一定要对重要代码,逻辑复杂代码进行单元测试,写好test是保证代码正确的有效途径,也是提高效率的必要措施
  4. 测试方法: 如果是在dev环境,单元测试尽量覆盖每一个逻辑分支。覆盖每一个case
  5. 测试方法:如果是在非本地环境,那么可以修改配置文件为对应环境的配置,然后再本地启动,从而模拟出问题的环境来排查bug.
  6. 测试方法:必要情况下,造数据,进行压测

上线时

  1. 上线前的清单一定要列好,好记性不如烂笔头,列好清单 (各种apollo配置  op  sql  ddl 执行的先后,mq的topic,分支拉取以及合并 maven私服 等等 )==省的给自己找麻烦 
  2. 由于权限问题,看不到线上,那么尽量看下日志 elk中 的,elk不直观的话,申请线上日志权限,一定要观察一段时间

线上出问题时候

  1. 第一时间看日志,看是否有Exception
  2. 没Exception,那么根据关键字搜索出问题地方的日志 看是否有问题,查询数据库比对数据是否数据或者逻辑是否出了问题,进行code review
  3. 让运维看服务器情况 观察cpu 内存 gc  必要时候dump线程文件   文件描述符打开数量  等等指标

高效秘诀

  1. 不要盲目: 要有条理,如排查问题不能盲目,需要带着目标去排查
  2. 不要急躁: 做事情不能想不清,脑袋混乱时候,出去抽一根或喝杯咖啡或冥想或去个wc吧
  3. 不要偷懒: 你偷的每一个懒,都是在给自己挖坑,最后自己背技术债,同时别人还会鄙视你,说你不靠谱

基本准则

  1. 记住任何情况下  稳定靠谱 > 速度快;所以做事情时候, 给自己留下足够的自测时间,前期自测充分,后期少些麻烦!!!

蝎子莱莱
                                                                         2022-02-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值