首页 > 其他分享 >研发规范杂谈

研发规范杂谈

时间:2024-04-07 14:24:22浏览次数:22  
标签:复杂度 xxx 杂谈 规范 研发 Complexity BIZ 日志 代码

编码质量

推荐工具检测

插件名称 作用 建议程度
IDEA自带插件(IDEA Analyze) 编译器警告 强制
SonarLint 代码质量检查 强制
CodeMetric 代码复杂度提醒 建议
MetricsReloaded 代码复杂度计算 建议
Alibaba Java Coding Guidelines 代码规范 建议/部分规范不建议

代码复杂度各项指标

指标项 英文全称 中文说明
CogC Cognitive Complexity 认知复杂度,即代码可读性
ev(G) Essential Cyclomatic Complexity 基本复杂度
iv(G) Module Design Complexity 模块设计复杂度
v(G) Cyclomatic Complexity 圈复杂度
WMC Weighted methods per class 每个类的加权方法 复杂度

关于Lombok

  • 属性及方法最小化原则,仅推荐使用@Getter@Setter@Slf4j 注解。
  • JaveBean属性较多的类禁止使用@Data@Builder@Accessors 静态构造,链式调用引发的JavaBean问题
  • 禁止使用@RequiredArgsConstructor+ final 进行Spring的Bean强依赖构造。防止生成复杂构造器,Bean初始化问题等。
  • 不建议使用@SneakyThrows注解。使用该注解会将受检异常转换为非受检异常,但在转换过程中会丢失原始异常的类型信息。破坏了异常处理的语义,可能导致不可控的程序行为。

IDEA推荐插件

  • GitToolBox
  • MybatisX
  • Maven Helper
  • GenerateAllSetter
  • GsonFormatPlus
  • Statistic

归档原则

OSS文件归档原则

  • 临时文件:/temp/{profile}/{bizKey}[/bizId]/{fileName}
  • 正常文件:/public/{profile}/{bizKey}[/bizId]/{fileName}
  • 私有文件:/private/{profile}/{bizKey}[/bizId]/{fileName}

GIT分支归档原则

  • 功能迭代分支:feature/xxx
  • 修复分支:hotfix/xxx(线上紧急)或者fix/xxx(开发测试)
  • 优化、重构分支 :optimize/xxx

缓存,分布式锁的KEY原则

原则上redis的key命名应该全部小写,并且使用:作为key的分隔符。 除极端特殊情况外所有的Redis数据都应该有过期时间设置

  • 锁:lock:{BIZ_KEY}[:BIZ_ID] 注意:BIZ_KEY也可以是多级结构。
  • 缓存:cache:{BUSI_DATA_NAME}[:BIZ_ID]注意:BUSI_DATA_NAME指的是缓存的业务数据的唯一名称,也可以是多级结构。

日志记录存储原则

日志首选框架logbackSpringBoot默认采用logback作为日志框架,无缝集成,最佳的兼容与支持。虽然log4j2支持异步日志记录,性能较强。但性能差距不是一个决定性因素,且除了巨量的日志记录和极端要求性能的情况下,log4j2的性能与logback性能差距微乎其微。

日志存放路径最佳实践:/opt/logs/${spring.application.name}/${server.port:8080}/out.log

标签:复杂度,xxx,杂谈,规范,研发,Complexity,BIZ,日志,代码
From: https://www.cnblogs.com/ealenxie/p/18118946

相关文章

  • 数据的规范化——Pandas处理
    数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评......
  • 免杀杂谈
    0.零散知识0x00添加图标:尝试了几种大众方法,感觉还是这篇文章的方法好用https://www.sqlsec.com/2020/10/csexe.html#%E6%B7%BB%E5%8A%A0%E5%9B%BE%E6%A0%870x01添加签名:sigthief下载地址:https://github.com/secretsquirrel/SigThiefpythonsigthief.py-i"C:\ProgramFil......
  • B/S架构SaaS模式 医院云HIS系统源码,自主研发,支持电子病历4级
    B/S架构SaaS模式医院云HIS系统源码,自主研发,支持电子病历4级系统概述:一款满足基层医院各类业务需要的云HIS系统。该系统能帮助基层医院完成日常各类业务,提供病患挂号支持、病患问诊、电子病历、开药发药、会员管理、统计查询、医生站和护士站等一系列常规功能,还能与公卫、PAC......
  • 第11章_数据库的设计规范
    1.为什么需要数据库设计我们在设计数据表的时候,要考虑很多问题。比如:用户都需要什么数据?需要在数据表中保存哪些数据?如何保证数据表中数据的正确性,当插入、删除、更新的时候该进行怎样的约束检查?如何降低数据表的数据冗余度,保证数据表不会因为用户量的增长而迅速......
  • 关于 npm 包的版本管理规范和各项配置项的含义
    关于npm包的版本管理规范和各项配置项的含义npmixxx@next安装最新的版本,不管是稳定版还是内测版npmixxx@latest安装最新的版本,并且是稳定版相关链接https://juejin.cn/post/7122240572491825160https://juejin.cn/post/7027293182249402405......
  • 定时任务及编写规范
    at任务:        定点执行一次:atatd        周期性运行任务:crontab        systemctlstatus|start|stop|restart|reload服务名(networkhttpd)        systemctlenable|disable自启动|禁止自启动crontab......
  • GO——变量定义规范,,类型,,常量,,函数,,包
    #1变量定义规范#25关键字forif。。。。#37个保留字intint8panic。。。#2变量定义1完整定义var变量名变量类型=变量值var变量名变量类型2类型推导(变量类型在定义阶段固定了,后期不能改变)var变量名=值......
  • DC电源模块的使用注意事项和安全规范
    BOSHIDADC电源模块的使用注意事项和安全规范DC电源模块在电子设备的设计和实验中起到了至关重要的作用。然而,为了确保安全和可靠性,使用DC电源模块时需要注意以下几个方面。 第一,正确选择适合的电源模块。在购买或选择电源模块时,需要考虑所需的电压和电流输出范围。确保电源......
  • Panorama系统程序开发规范
    1.匈牙利命名规则变动  前缀    类型       a      Array                                                         b      Boolean                  ......
  • Python命名规范
    ★类属性命名规范类属性通常采用大写字母、下划线分隔的方式命名,遵循以下规范:1.如果类属性是常量,通常使用全大写的字母表示,多个单词之间用下划线分隔,例如:MAX_SIZE。2.如果类属性表示一个布尔值或状态,通常使用is或has开头,例如:is_running、has_finished。3.如果类属性表示......