1、不管是做需求还是测试,都应该考虑整个链路,确保兼容性或者其他模块不受影响。比如内容创作改动,应该考虑到审核侧、内容分发侧是否正常。

2、需求一定要经过测试。不要站在自己的角度,以为测试人员无法测试某种场景。因为方法总比困难多,比如可以把链路当中修改的点单独拎出来进行对比测试。还要多提一点的是,尽量在代码修改处添加日记,确保测试能覆盖到。

3、输出日记时也要避免空指针异常。如果在业务逻辑中不会出现空指针异常,却在输出日记时抛异常,那真的是冤大头了。

4、批量回刷或者删数据有风险,特别是无法恢复的物理硬删除。所以此类场景应该由用户主动触发,而不是借助定时任务批量执行。

5、数据和操作行为应该足够方便溯源。比如图片上传、批量删除数据。

6、代码上线时间也应该当成需求时间。当团队严格控制代码上线流程,比如技术方案评审、代码评审、提测、灰度发布、线上监控,你就会发现上线成本还是很高的。所以,管理好开发队列变得很重要。而秘决在于,质量优先,效率第二。

7、上游依赖接口检查。不只是要检查可用,还要检查准确度和质量。比如每页返回的数据量是否正常、返回的数据是否满足合规性和可用性。

8、避免过度设计。某些历史的实体POJO类的字段类型千奇百怪,可能是包装类Integer,也可能是基本类型Int,那么在MyBatis框架中使用xml定义一个大而全的SQL,比如使用<if test="picNum !=null">来拼接Update方法,很容易将不需要处理的数据清空。当然根本原因是POJO定义的问题,不过这是历史原因了,此时再修改它里面的字段类型,成本很高。所以,此时最好的方式是,新增的方法只更新它需要的,不要过度设计,不要急着考虑通用性。

9、开闭原则。它的意思是对扩展开放,对修改关闭。这个设计原则其实我们每天都在接触,比如方法入参定义为实体对象,当需要新增一个参数时无需修改参数列表,只需要在实体类中新增一个字段即可。这个原则的作用是应对变化的时候,还能够保证系统的稳定性。

10、依赖倒置原则,低层模块依赖高层模块,它们都依赖抽象。上游依赖属于原子类,具体细节不应该混杂在业务代码中。那样代码复用性差,而且当该业务方法出问题时,不能直接判断是否是业务代码的缺陷还是某个上游依赖的缺陷。甚至上游接口需要升级切换时,使用到它的都需要进行翻新,得不偿失。所以上游接口尽量抽象出来并且添加相应监控。

11、增强系统健壮性。主动检测不支持的情况并抛出异常,避免系统产生不可预期的结果,比如首先进行参数校验再处理业务。很简单的操作,但是可以有效增强系统的健壮性。

一周的闪念胶囊,总有一个能帮助到你相关推荐

  1. 微软为华为定制了一个“烂笔头小冰”,让人想起了老罗的“闪念胶囊”

    微软全球执行副总裁--沈向洋 在刚刚过去的第六代小冰发布会上,微软和华为走到了一起. 小冰产品总监徐翔宣布,微软小冰将于今日上线华为手机,所有升级至智能助手 8.2 版本及以上的华为手机(包括华为和荣 ...

  2. 罗永浩:闪念胶囊远不止是语音记事本,未来会出PC和MAC版

    锤子科技在5月9日推出的坚果Pro最近在京东618手机节大卖,6月10日当天拿下京东单日品牌销量.品牌销售额.单品销量三项冠军,坚果Pro成为爆款迹象越来越明显. 除了销量上的突破以外,此次锤子科技在 ...

  3. 闪念碎片-自动续费服务协议

    1. 服务条款的接受与修改 • 本协议是普通用户与"闪念碎片"APP(下称"本软件")之间关于自动续费委托扣款服务(下称"本服务")所订立的 ...

  4. Revit中快捷键使用巧用及闪念本功能

    一.Revit中快捷键使用巧用 在Revit中,有的快捷键并没有详细的功能说明,然而,这些快捷功能却可以提高建模效率,以下的内容将列举一些实用的快捷键供大家参考. 1.空格键的用途 revit中空格键 ...

  5. MOOC程序设计入门——C语言(翁恺)第五周编程作业“念整数”

    MOOC程序设计入门--C语言(翁恺)第五周编程作业"念整数" ****念整数 题目内容: 你的程序要读入一个整数,范围是[-100000,100000].然后,用汉语拼音将这个整 ...

  6. 苹果蓝牙连接不上是什么原因_无线网连接不上 原因很多,总有一个办法解决你的问题...

    无线网卡可以搜到无线信号,但是无法连接,可以参考以下步骤排查. 解决方法 1.确认是否连接的自己的无线信号 电脑使用有线连接路由器,并登录路由器管理界面,在 路由设置 >> 无线设置 中查 ...

  7. 教师课堂教学必备的100个妙招,总有一个适合你!

    教师课堂教学必备的100个妙招,总有一个适合你! 转自:郝任工作室 4天前 1 微笑中,拉近师生的心 教师的微笑有着无穷的魅力.教师的微笑能调节课堂情绪,增进师生情谊,激发学生的学习的热情,增强其自信 ...

  8. css好用吗,比较好用的 CSS 的技巧,总有一个你需要的!

    原标题:比较好用的 CSS 的技巧,总有一个你需要的! 一.黑白图像 当你需要让一张彩色的图片显示为黑白照片的时候,你可以用下面的一段代码. 二.使用 :not() 在菜单上应用/取消应用边框 三.页 ...

  9. IDE 插件新版本发布,总有一个功能帮到你——开发部署提速 8 倍

    对于开发者而言,提高工作效率大概有 2 种主要方式,第一种方式就是加快自己的工作速度,争取在同一段时间内多码一些代码.多干一些活来实现多产:而聪明的开发者会选择第二种方式,就是通过插件,让一些重复性的 ...

最新文章

  1. 第十六 django进一步了解
  2. 点击图片传值到text 尚未解决
  3. torchvision 笔记:transforms.Compose()
  4. python—多线程之信号量
  5. CCNA题库关于Frame-relay看图答题的解答
  6. [Baltic2009]Radio Transmission
  7. VTK:IO之ImageWriter
  8. python计算一年有多少天_Python 案例 004 (计算当前时间是一年中的第几天)
  9. 剖析 epoll ET/LT 触发方式的性能差异误解(定性分析)
  10. C# 6.0 (C# vNext) 的新功能:Exception-Handling Improvements
  11. 蚂蚁金服开源服务注册中心 SOFARegistry
  12. MyBatis-Spring-Boot 使用总结
  13. centos7安装uwsgi报错_nginx + uwsgi 发布django项目!(linux为centos7)
  14. 用python写WordCount的MapReduce代码
  15. 公开课:Excel做制冷仿真计算入门到提高
  16. 几种炫酷的Web特效
  17. linux下查看硬盘型号、大小等信息
  18. Files 使用体验:一款高颜值 Windows 第三方资源管理器
  19. 高通msm8996启动流程
  20. vue直传图片到阿里云OSS(单张直接上传)

热门文章

  1. [Domino]从嵌入另一个数据库嵌入的Embedded View无法正常显示,提示unable to lauch
  2. SEH转化为C++异常三
  3. 历年高考专业录取分数线
  4. uniapp小程序实现上拉加载更多
  5. 推荐几个免费练手的Java项目
  6. MySQL5.7忘记密码解决方案
  7. 火花、火种、火炬——中国软件外包企业创新观察
  8. 1、Android单元测试
  9. 求职面试时猎头公司没有告诉过你的潜规则
  10. 重新定义“重症监护ICU”