• CR总结--java函数CR


    序号问题建议
    1圈复杂度不超过10
    2synchronized的范围控制范围,缩小粒度
    3出现伪重载,多个不同修饰符重载函数的修饰一致
    4参数多不超过5个,多个合并为个参数类
    5加锁必要性如果非多线程使用场景,去掉锁
    6容器类如StringBuilder,hashMap制定预设大小
    7优先使用JDK工具函数
    8锁对象选择最优是new byte[0]作为锁对象
    9类的对外接口个数,即函数的修饰是否合理不要一股脑的public,控制对外暴露的风险
    10判断逻辑里条件个数太多,理解困难判断逻辑里超过4个即整理为一个独立函数
    11资源释放问题在finally或1.8后的try
    12函数逻辑规整使用空格 归类逻辑
    13函数名见名知意,首先要使用正确的单词;不能太长,太长也意味函数包含太多逻辑;设置/获取数值型的函数名称需要带上数值单位
    14函数的抛出异常需要在注释里说明,或者使用throws
    15有效代码行数40
    16无效代码清理
    17局部变量距离最近使用不超过3行
    19防范式编程异常或值校验,要先做,尤其是对外接口
    20注释public 必须注释
    21方法逻辑清晰功能单一和函数名称切合,如有修改逻辑及时修改注释
    22对之前版本的兼容对外接口函数,旧函数如果要替换,需要一个弃用过程,并提示替换的方案
    23参数名称见名知意,参数如果有多个单位层级,需要独立一个参数表示单位,如时间单位,磁盘大小的单位
    24函数功能的对称性,如有如add 就要remove,init 对应destroy
    25防止死锁,查看锁对象的应用位置
    26使用线程池控制线程大学,和任务队列大小,Exctors方法谨慎使用。
    27多算法的合理组合如快速排序是286个以下,以上就使用合并排序
    28函数参数的信息量太大,不可测,如一个对象传进来,只是使用了对象的一个属性坚持够用就好
    29入参数被修改不要修改入参,和C/C++相反,如有修改是拷贝副本,处理后再return
    30多个判断逻辑混乱,出现执行路径不可达或重复执行
    31跨平台传输数值使用String方法,尤其是浮点数
    32JNI/NDK的内存回收问题全局引用(Global reference),局部引用(Local reference),弱全局引用(Weak global reference)。

    全局引用的生存期为创建之后,直到程序员显式的释放它。

    局部引用的生存期为创建后,直到程序员显式的释放他们,或在当前上下文(可以理解成Java程序调用Native代码的过程)结束之后没有被JVM发现有JAVA层引用而被JVM回收并释放。

    弱全局引用的生存期为创建之后,到程序员显式的释放他们或JVM认为应该回收它的时候(比如内存紧张的时候)进行回收而被释放。

    33日志打印收集日志必须有统一工具进行打印收集
    34使用高效序列化工具

    FlatBuffer

    35配置属性,使用SP导致阻塞SP数据不能太大,分开到不同XML。建议使用MMKV,datastore
    36JUC的加锁容器,不是万全的这些只是对象函数是线程安全,但容器本容易被其他线程操作
    37参数或成员变量的类泛化程度入参是context,但函数却要强制转换为activity,应该直接定义为activity
    38对象复用如Android的Message 使用obtain获取对象,不是一味new Message
    39序列化控制transient关键字,不需要序列化的属性前添加
    40数据容器的结合场景使用如查询多的使用Arraylist或Vector,增删多的使用LinkedList,
    41键值对容器取名把key -value 体现在 名字上

  • 相关阅读:
    java毕业设计交通事故档案管理系统(附源码、数据库)
    python魔术方法和抽象类
    电影《断桥》
    实战回忆录:从Webshell开始突破边界
    Springboot 如何在连接池未加载前从AWS,Azure等云上获取数据库密码
    红外遥控视力自动检测系统的设计与实现
    从 Delta 2.0 开始聊聊我们需要怎样的数据湖
    &4_卷积神经网络 CNN
    SpringSecurity - 初识 SpringSecurity
    valarray 包含对象成员的类(cpp14章)
  • 原文地址:https://blog.csdn.net/hqiangtai/article/details/126313169