
质量管理
文章平均质量分 91
代码质量管理
程序猿进阶
要做就做第一,就算结果不是第一,也会是一个好成绩。 加油!我的未来不是梦。
展开
-
CR规范之存储过程
存储过程是指为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户可通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行。存储过程在数据库技术中属于一种服务端编程方式,是一组预编译的SQL语句集,常用于对数据库进行操作、控制和管理。存储过程通常包括流程控制语句、数据操作语句、变量的定义和赋值、条件判断语句等,可以在执行过程中接受参数输入,并返回查询结果。原创 2025-01-02 05:30:00 · 15135 阅读 · 7 评论 -
Dead Code Clean
死代码通常包括如下两种:1、不可达代码不会被执行的代码,又可被细分为控制流不可达和分支不可达,具体定义如下:控制流不可达:如果不存在从程序入口到达某一段代码的路径,则该段代码就是控制流不可达。分支不可达:对于分支语句(if & switch),如果条件值是固定的,则其中一个分支都不会被走到,这些分支的代码即为分支不可达。2、无用代码会被执行,但执行结果不会被用到的代码。原创 2024-12-12 05:30:00 · 8692 阅读 · 84 评论 -
Codescene 高阶使用
这个功能可以模拟当团队中某一个开发人员离职或者转岗后,会对团队开发工作的哪些代码部分造成影响,下图是模拟了当团队一位开发人员离开后影响的情况,图中红色部分是我们需要关注的内容,所涉及的相关代码需要进行交接。不健康的代码预示着维护成本的增加和更多的缺陷。就像崎岖不平的道路会减慢你的驾驶速度一样,代码中的崎岖不平的道路也会给理解带来障碍)点击存在健康风险对象的X-ray选项,会进行方法级别的问题扫描,这个功能可以让开发人员聚焦到最需要进行重构的类方法,如图的方法会提示存在健康风险的方法有哪些代码问题。原创 2024-12-10 05:30:00 · 11405 阅读 · 83 评论 -
SPOCK 一个基于Groovy 的单元测试框架
写好测试逻辑,使用不同的数据测试,方便对边界检查等,还有一些技巧,可以发挥想象力。写好测试逻辑,使用不同的数据测试,方便对边界检查等,还有一些技巧,可以发挥想象力。框架使用标签分隔单元测试中不同的代码,更加规范,也符合实际写单元测试的思路。有时候可能需要检查 依赖的方法背调用,调用、几次、参数是啥。,支持使用 字符串字面量命名,这样可以得到更高的可读性。处于测试执行的不同阶段,在测试运行时,各个。的语法与Java非常相似,以至于多数的。,调用被测试逻辑,执行测试条件。,构建工具,持续集成等)。原创 2024-11-27 05:30:00 · 7467 阅读 · 56 评论 -
Code Review 指导方针
一份好的MR描述不仅对团队的工作和代码质量有重要作用,也是对自己的工作的一个review的过程。1、如果MR中有部分代码超出了需求范围,但可以改善线上系统的整体代码健康状况(例如在不影响功能的情况下优化了代码结构,或提升了原有代码的性能),即使这部分改动并不完美,Review 也要倾向于批准和鼓励这些改动。1、在风格问题上,团队的编码规范具有绝对的权威,规范中未提及的点都算是个人喜好问题,优先保持和工程中其余代码风格一致,否则,除非可以显著增加可读性或可维护性,请尝试接受作者的代码风格。原创 2024-11-19 05:30:00 · 9636 阅读 · 118 评论 -
Stream 流式编程
大家都知道可以将Collection类转化成流Stream进行操作(Map并不能创建流),代码变得简约流畅。我们先看下流的几个特点:1、流并不存储元素。这些元素可能存储在底层的集合中,或者是按需生成。2、流的操作不会修改其数据元素,而是生成一个新的流。3、流的操作是尽可能惰性执行的。这意味着直至需要其结果时,操作才会执行。原创 2024-09-06 05:15:00 · 1900 阅读 · 84 评论 -
面试官:看看这个代码有啥问题
这段代码短时间内能看出很多问题,代码也很长,不认真看,可能回答的不能不是面试关想要的!等等,开发者应该要的是满足条件才抛出错误的,但是生产应该是只要。,所以将这个想法说了出来,这个也是这段代码的问题。对的,就是刚想到了,拿出来分享下,分析的不错。仔细看代码,发现如果这段逻辑自己写的话,应该将。问题,但这个人感觉应该不是面试官要的所以。的列表,应该不是开发者想要的。导致线上系统异常,订单下跌。面试官:这是我们上午刚分析的一个线上。,突然想到了这个面试,拿出来分享下。是的,但是还有个问题,你说的是。原创 2023-12-02 00:15:12 · 753 阅读 · 19 评论 -
Java开发代码规范文档
【2】明确使用的场景:解耦减少依赖,使核心业务外的其他业务插件化,例如订单出票后需要发邮件,库存卖空需要触发报警等削峰异步化,前置流量过大,将整体流程拆为两部分,核心逻辑保持干净和足够的性能,较重的逻辑后置处理定时器支持在未来指定时刻消费消息,减少业务侧轮询任务的开发。简单来说,接口也是类(不太严谨),所以,接口的名称的书写也应该符合类名书写规范,首字母应该大写,与普通类名不同的是,接口命名时通常采用形容词或动词来描述接口的动作行为。一般地,在对方法进行命名时,通常采用动词/动词+名词的组合。原创 2024-08-15 05:30:00 · 1801 阅读 · 59 评论 -
代码规范 —— 并发编程规范
乐观锁在获得锁的同时已经完成了更新操作,校验逻辑容易出现漏洞,另外,乐观锁对冲突的解决策 略有较复杂的要求,处理不当容易造成系统压力或数据异常,所以资金相关的金融敏感信息不建议使用乐观锁更新。【7】【强制】高并发时,同步调用应该去考量锁的性能损耗。【10】【强制】在使用尝试机制来获取锁的方式中,进入业务代码块之前,必须先判断当前线程是否持有锁。自定义线程工厂,并且根据外部特征进行分组,比如,来自同一机房的调用,把机房编号赋值给。的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险。原创 2024-08-10 20:10:56 · 1234 阅读 · 45 评论 -
代码规范 —— Redis 开发规范
除了带来极大的内存占用外,在访问量高时,很容易就会将网卡流量占满,进而造成整个服务器上的所有服务不可用,并引发雪崩效应,造成各个系统瘫痪。的多数据库较弱,使用数字进行区分,很多客户端支持较差,同时多业务用多数据库实际还是单线程处理,会有干扰。等基于磁盘的存储方式,不仅节省内存成本,而且数据量小在操作时速度更快、效率更高。设置过期时间(条件允许可以打散过期时间,防止集中过期),不过期的数据重点关注。☑️ 禁止包含特殊字符如空格,换行,单双引号,其他转义字符。不能被不同的应用,不同的场景使用。原创 2024-08-13 05:30:00 · 2350 阅读 · 64 评论 -
代码规范 —— QMQ 开发规范
【2】明确使用的场景:解耦减少依赖,使核心业务外的其他业务插件化,例如订单出票后需要发邮件,库存卖空需要触发报警等削峰异步化,前置流量过大,将整体流程拆为两部分,核心逻辑保持干净和足够的性能,较重的逻辑后置处理定时器支持在未来指定时刻消费消息,减少业务侧轮询任务的开发。时,对于消息量大又不太重要的表,可以拆分消息队列,将这部分放到单独的消息队列中,可以避免这部分消息积压影响重要数据。生产者与消费者编码在框架基础上再次进行了统一的封装,实现代码风格与编码规范的统一。如果消费成功,那么返回成功,否则返回失败。原创 2024-08-12 05:30:00 · 1210 阅读 · 46 评论 -
代码规范 —— 数据库规范
如果另一个参数是十进制或整数值,则将参数与十进制值进行比较,如果另一个参数是浮点值,则将参数与浮点值进行比较》如果其中一个参数是。对多表进行查询记录、更新记录、删除记录时,如果对操作列没有限定表的别名(或表名),并且操作列在多个表中存在时,就会抛异常。反例:在某业务中,由于多表关联查询语句没有加表的别名(或表名)的限制,正常运行两年后,最近在某个表中增加一个同名字段,在预发布环境做数据库变更后,线上查询语句出现出。另外,即使在应用层做了非常完善的校验控制,只要没有唯一索引,根据墨菲定律,必然有脏数据产生。原创 2024-08-08 05:30:00 · 3331 阅读 · 50 评论 -
代码规范 —— 命令规范
的作用是将功能相似或相关的类或者接口进行分组管理,便于类的定位和查找,同时也可以使用包来避免类名的冲突和访问控制,使代码更容易维护。简单来说,接口也是类(不太严谨),所以,接口的名称的书写也应该符合类名书写规范,首字母应该大写,与普通类名不同的是,接口命名时通常采用形容词或动词来描述接口的动作行为。类是一种特殊的类,其命名规范遵循普通类的命名约束条件,首字母大写,采用驼峰命名法;一般地,类名的书写尽量使其保持简单和描述的完整性,因此在书写类名时不建议使用缩写(一些约定俗成的命名除外,例如。原创 2024-08-06 05:30:00 · 1118 阅读 · 49 评论 -
代码规范——代码规范/开发规范
【推荐】方法体内的执行语句组、变量的定义语句组、不同的业务逻辑之间或者不同的语义之间插入一个空行。设计合理的错误码,避免返回调用方不关注的错误码,或者缺失必要的错误码,同时提供必要的错误信息。【推荐】对于类外部几乎不会用到的常量、方法(比如校验参数),推荐直接放到类内部。【强制】合理的使用各种资源、锁、流等,保证资源一定可以得到释放。【推荐】功能简单、使用方单一的方法,合并到使用方对应类中,比如。都要增加几个空格,在变量比较多的情况下,是一种累赘的事情。【推荐】减少不必要的代码,比如样板代码、重复代码等。原创 2024-08-06 00:15:00 · 2821 阅读 · 57 评论 -
Idea接入CheckStyle-IDEA静态样式之道
在标准化的统一样式检查规范里,最为常用的统一样式工具是插件,而不是国内阿里的代码规约插件。【1】下载插件【2】配置生效配置生效及告警设置【3】配置checkstyle.xml官网地址官网最新Releases下面不是最新的版本,但是提供了中文的解释,可以参考下;实际使用时或者兼容问题请到官网下载最新的规则;这里使用 Google的规范写法,自己定义的时候,可以根据Google Java 风格指南进行添加。地址我下载的是10.15版本中的checkstyle后期导入的文件目录和文件名如下原创 2024-05-14 05:00:00 · 1476 阅读 · 68 评论 -
CodeReview 规范及实施
你的代码整体结构清晰,逻辑合理,很容易理解。随着业务压力增大,引发代码质量下降,代码质量的下降导致了开发效率的降低,维护成功高等问题,开发效率下降后又加重了业务压力,最终陷入了死亡三角的内耗之中。,因为开发者比你更了解整个系统的业务逻辑和架构,你的意见可能不适合该系统或架构,因此需要友好的交流,让他们知道他们的代码是对的,继续保持,自己则更进一步的了解整个系统和架构,避免第二次犯同样的错误。代码评审是一个学习的机会,通过审查他人的代码,可以学习到新的编码技巧和最佳实践,同时也可以分享自己的知识和经验。原创 2024-03-11 05:00:00 · 8643 阅读 · 134 评论