专栏首页松华说一周的闪念胶囊,总有一个能帮助到你

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

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

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

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

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

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

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

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

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

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

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

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

本文分享自微信公众号 - 松华说(songhuasay),作者:松花皮蛋

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 微服务架构之服务冶理Dubbo-Netty流程

    服务引用时流程会走到DubboProtocol#refer方法,之前篇章中没有提及Netty环节,本节补上

    公众号_松华说
  • JAVA安全编码标准学习分享

    以下内容摘取自《JAVA安全编码标准》,略做修改和补充解释,这是一个把书读薄和知识串通的过程

    公众号_松华说
  • 接口设计技巧和最佳实践

    你的响应应该是在代码中严格定义的嵌套数据业务模型,不要依赖数据库查询结果映射,或者其他操作

    公众号_松华说
  • MySQL与Python的交互1.交互类型2.增删改查(CRUD)3.封装

    Python攻城狮
  • MySQL与Python的交互

    1、交互类型 1、安装引入模块 安装mysql模块,在windows和ubuntu中 ? windows里安装mysql模块 ? Linux里安装mysql模块...

    用户1332428
  • 机器学习(19)之支持向量回归机

    关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第二 【Python】:排名第三 【算法】:排名第四 前言 机器学习(15)之支持向量机原...

    昱良
  • Python接入mysql数据库 原

    右侧有个database,点开后左上角有个“+”符号,选择Data Source-Mysql

    晓歌
  • 面试题:1 到 1000 之间有多少个 7?

    https://blog.csdn.net/architect19/article/details/9398725

    程序IT圈
  • 一场微秒级的同步事故

    导读:诺兰导演作品《星际穿越》里面有这样一个片段,母舰损坏以后,处于高速旋转状态,库珀为了登上母舰,必须使自己的飞船也高速旋转, 与母舰同步成一样的旋转状态,才...

    glumes
  • 腾讯安全入围安全界奥斯卡“Pwnie Awards” 为亚洲唯一入选团队

    美国时间7月18日,“全球黑客奥斯卡”Pwnie Awards公布2016年最新奖项提名。来自腾讯安全联合实验室旗下科恩实验室获Pwnie for Best P...

    腾讯高校合作

扫码关注云+社区

领取腾讯云代金券