记一次代码审查记录

一、前言

      作为一名优秀的程序员,架构师,有时候在审查代码的时候,有些人写的代码极其优秀,但是大部分写的真的是一堆垃圾。今天就来阅读阅读代码,专业叫code review,寻找点乐趣,主要是怼人。

二、代码阅读中

    public O load(O o) {
        DBManager dbManager = new DBManager(o);
        if (!(o instanceof Config) && o.getAppConfig() != null && o.getAppId() == null)
            o.setInAppId(o.getAppConfig().getParents());
        o.setLimitCount(1);
        Object returnObj = dbManager.sendQuery(o.getTableName(), o);
        if (getPool().getProxy().isRDMS) {
            o = ReflectionUtils.getObject(dbManager, o);
            if (o != null)
                o.setIsLoad(true);
        } else {
            if (returnObj != null)
                o.setIsLoad(true);
        }
        return o;
    }

    public O loadByPrk(O o) {
        DBManager dbManager = new DBManager(o);
        if (!(o instanceof Config) && o.getAppConfig() != null && o.getAppId() == null)
            o.setInAppId(o.getAppConfig().getParents());
        o.setLimitCount(1);
        Object returnObj = dbManager.sendLoadByPrk(o.getTableName(), o);
        if (getPool().getProxy().isRDMS) {
            o = ReflectionUtils.getObject(dbManager, o);
            if (o != null)
                o.setIsLoad(true);
        } else {
            if (returnObj != null)
                o.setIsLoad(true);
        }
        return o;
    }

这种写的又是什么鬼,函数上没有任何注解 ,使用O作为类型,满眼都是O,难道看了让让O MY God 吗

没有任何注释的代码,就是一文不值的垃圾

 注释乱七八糟的代码,不如没有!

接下来不想看,反正就是一堆垃圾。

三、如何写好java代码

写好Java代码需要遵循一些最佳实践和编程原则。以下是一些关键的步骤和技巧:

  1. 理解Java基础知识

    • 掌握Java的基本语法,如变量、数据类型、运算符、控制流等。
    • 理解面向对象编程的概念,如类、对象、封装、继承和多态。
    • 学习Java的核心类库,如集合框架、IO流、多线程等。
  2. 遵循编码规范

    • 使用有意义的变量名和方法名,遵循驼峰命名法。
    • 合理地缩进和格式化代码,以提高可读性。
    • 使用注释来解释复杂代码段或算法。
  3. 编写可维护的代码

    • 将代码组织成易于理解和维护的模块。
    • 使用封装来隐藏对象的内部状态,只暴露必要的接口。
    • 遵循单一职责原则,确保每个类或方法只做一件事。
  4. 异常处理

    • 合理地使用异常处理机制,避免程序崩溃。
    • 捕获和处理可能发生的异常,或者将异常向上抛出。
    • 避免使用空的catch块,至少应该记录异常信息。
  5. 使用集合框架

    • 熟练掌握Java的集合框架,如List、Set、Map等。
    • 根据需求选择合适的集合类型,以提高性能。
  6. 多线程编程

    • 了解Java的多线程机制,如线程创建、同步和通信。
    • 避免共享可变状态,或使用同步块和锁来确保线程安全。
    • 使用并发工具类,如线程池、Future和Callable,以简化多线程编程。
  7. 性能优化

    • 理解JVM的工作原理和内存管理,以避免内存泄漏和性能问题。
    • 使用适当的算法和数据结构来优化代码性能。
    • 考虑使用缓存、懒加载等策略来提高性能。
  8. 测试与调试

    • 编写单元测试和集成测试,确保代码的正确性。
    • 使用调试工具来跟踪和解决问题。
    • 遵循测试驱动开发(TDD)原则,先写测试再写代码。
  9. 学习新技术和框架

    • 关注Java社区的发展,学习新的技术和框架。
    • 了解Spring、Hibernate等主流框架,以便在实际项目中应用。
  10. 持续学习与实践

  • 阅读优秀的Java代码和开源项目,学习他人的编程风格和最佳实践。
  • 参加技术社区和论坛,与其他开发者交流经验和技巧。
  • 通过实际项目来锻炼自己的编程能力,不断积累经验和提升水平。

遵循这些步骤和技巧,你将能够写出高质量、可维护的Java代码。同时,不断学习和实践也是提高编程能力的重要途径。

四、如何做好代码review

代码审查(Code Review)是软件开发过程中的一个重要环节,它有助于提高代码质量、减少错误、促进团队协作和知识共享。以下是一些建议,帮助你做好代码审查:

  1. 理解审查目的

    • 代码审查的主要目的是找出代码中的缺陷、不足以及潜在的错误,而不是针对个人进行批评。
    • 通过审查,可以提高团队的整体技术水平,促进团队成员之间的学习和交流。
  2. 准备阶段

    • 在开始审查之前,了解代码的背景、目的和功能,以便更好地理解代码逻辑。
    • 准备好审查工具和环境,确保可以顺畅地浏览和编辑代码。
  3. 关注重点

    • 注重代码的结构、逻辑、性能和安全性等方面,确保代码符合团队的编程规范和最佳实践。
    • 关注代码的可读性和可维护性,确保代码易于理解和修改。
  4. 采用合适的审查方式

    • 可以选择团队审查(Team Review)或同伴审查(Peer Review)等方式,根据团队规模和项目需求来确定。
    • 在审查过程中,保持开放和尊重的态度,鼓励团队成员提出意见和建议。
  5. 提问与讨论

    • 在审查过程中,不要害怕提出问题或质疑代码的设计。通过提问和讨论,可以深入了解代码的实现细节,并找出可能存在的问题。
    • 对于有疑问的地方,与作者进行沟通,了解他们的想法和意图,以便更好地理解代码。
  6. 记录审查结果

    • 将审查过程中发现的问题、建议和改进意见记录下来,以便后续跟踪和修复。
    • 对于重大问题或争议点,可以在团队会议中进行讨论和决策。
  7. 持续改进

    • 根据审查结果,对代码进行修改和优化,提高代码质量。
    • 总结审查过程中的经验和教训,分享给团队成员,以便在未来的项目中避免类似问题。
  8. 保持积极心态

    • 代码审查是一个学习和成长的过程,不要将审查结果视为对个人的评价。
    • 保持积极的心态,愿意接受他人的意见和建议,不断提升自己的编程能力。

通过遵循以上建议,你可以做好代码审查工作,提高代码质量,促进团队协作,为项目的成功做出贡献。

五、java开发规范

Java开发规范是一个旨在提高代码质量、可读性和可维护性的准则集合。这些规范通常涉及命名、编码风格、注释、异常处理、日志记录等多个方面。以下是一些常见的Java开发规范:

  1. 命名规范
    • 类名使用驼峰命名法,首字母大写。
    • 方法名和参数名使用驼峰命名法,首字母小写。
    • 常量名全部大写,使用下划线分隔单词,并加上public static final修饰符。
    • 抽象类前缀可以使用abstractbase
    • 接口实现类应带有Impl后缀。
    • 枚举类应加上Enum后缀。
    • 包名统一使用小写,通常使用com.(公司名).(模块名)的形式。
    • 工具类一般以Utils作为后缀。
  2. 编码规范
    • 消除编译告警,确保代码质量。
    • 控制方法代码行数在30~50行之间,保持方法的职责单一。
    • 控制文件代码行数在300~500行之间,避免文件过长导致维护困难。
    • 清除冗余代码,删除未使用的方法、变量等。
    • 遵循单一职责原则,每个类或方法只做一件事。
  3. 注释规范
    • 注释应清晰明了,解释代码的目的、功能、输入、输出和潜在风险。
    • 避免使用拼音进行命名或注释。
    • 对于国际化团队或海外部署的服务器,使用全英文来注释和描述。
  4. 异常处理规范
    • 异常信息应包括案发现场信息和异常堆栈信息。
    • 谨慎地记录日志,避免在生产环境输出debug日志,并选择性输出info日志。
    • 使用warn日志级别来记录用户输入参数错误的情况。
    • 尽量使用英文描述日志错误信息,以避免歧义。
  5. 日志记录规范
    • 在生产环境中,禁止输出debug级别的日志。
    • 有选择地输出info级别的日志,避免日志输出量过大。
    • 如果使用warn来记录业务行为信息,要注意日志输出量,避免撑爆服务器磁盘。
    • 及时删除不再需要的观察日志。
  6. 方法命名规范
    • 获取多个对象的方法应以list做前缀,并以复数结尾,如listObjects
    • 获取统计值的方法应以count做前缀。
    • 插入的方法应以saveinsert做前缀。

这些规范并非一成不变,不同的项目或团队可能根据自身需求制定不同的规范。重要的是保持代码的一致性、可读性和可维护性,以提高开发效率和代码质量。同时,随着Java语言的不断发展和新的最佳实践的出现,开发规范也可能随之更新和完善。因此,开发者应时刻保持对新技术和新规范的关注和学习。

  • 32
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奋力向前123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值