zoukankan      html  css  js  c++  java
  • cuowu

    1.接口实现类建议使用Impl结尾,可以比较直观的看出是个实现,实现接口的方法加上@Override,这样可以准确判断是否实现成功。另外,如果在接口中对方法签名进行修改,其实现类会马上编译报错。

    2.RandomDP类中定义的private static final Random r = new Random();如果这个类后续会有多线程访问,建议使用ThreadLocalRandom类,Random在多线程并发时,会有线程阻塞问题,性能低。

    3.OutputPerturbDP实现类的方法getC没有处理逻辑,直接返回了0.0,如果是一个默认实现,可以在它实现的接口类中使用default 关键字修饰方法,这样在增加其他实现类时,就不需要在重写这个方法。

    4.VerticalLRMode类中有只有当前类中使用的但是声明为public的变量,变量和方法的作用域尽量小,如果是private的,后续如果不需要可以放心删除,如果是public的就需要慎重,随着工程代码量越来越大,这个问题会越来越突出。

    5.VerticalLRParameter类的方法obtainPara中,使用了大量的字符串,并且其他Parameter类中也有使用,如果不小心修改了某个值,问题会非常隐蔽,建议定义到Constant类中,所有类中共用。

    6.RandomForestJavaModel类中含有大量重复的字符串,比如”numTrees“和”feature_opt“,应该定义成常量而不是复制多次。 打印日志时,不要自己处理字符串你的拼接

    7.logger.info(String.format("HasLabel: %s, label name: %s", trainData.hasLabel, labelName));即使日志级别不是info也会先进行字符串拼接的操作, 推荐 logger.info("HasLabel: {}, label name: {}",trainData.hasLabel,labelName); 让日志框架去做替换。

    8.一些不用的属性和import提交代码之前删除掉,代码看上去会更整洁,而且在创建对象时,无用的属性会浪费空间。

    9.单元测试中使用断言Assert来判断返回值是否等于预期值

    10.全局变量和局部变量尽量不要同名,虽然局部变量会覆盖全局变量,但是影响代码可读性。

  • 相关阅读:
    vue使用elementui合并table
    使用layui框架导出table表为excel
    vue使用elementui框架,导出table表格为excel格式
    前台传数据给后台的几种方式
    uni.app图片同比例缩放
    我的博客
    【C语言】取16进制的每一位
    SharePoint Solution 是如何部署的呢 ???
    无效的数据被用来用作更新列表项 Invalid data has been used to update the list item. The field you are trying to update may be read only.
    SharePoint 判断用户在文件夹上是否有权限的方法
  • 原文地址:https://www.cnblogs.com/wangshicheng/p/15400954.html
Copyright © 2011-2022 走看看