一、前言
作为一名优秀的程序员,架构师,有时候在审查代码的时候,有些人写的代码极其优秀,但是大部分写的真的是一堆垃圾。今天就来阅读阅读代码,专业叫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代码需要遵循一些最佳实践和编程原则。以下是一些关键的步骤和技巧:
-
理解Java基础知识:
- 掌握Java的基本语法,如变量、数据类型、运算符、控制流等。
- 理解面向对象编程的概念,如类、对象、封装、继承和多态。
- 学习Java的核心类库,如集合框架、IO流、多线程等。
-
遵循编码规范:
- 使用有意义的变量名和方法名,遵循驼峰命名法。
- 合理地缩进和格式化代码,以提高可读性。
- 使用注释来解释复杂代码段或算法。
-
编写可维护的代码:
- 将代码组织成易于理解和维护的模块。
- 使用封装来隐藏对象的内部状态,只暴露必要的接口。
- 遵循单一职责原则,确保每个类或方法只做一件事。
-
异常处理:
- 合理地使用异常处理机制,避免程序崩溃。
- 捕获和处理可能发生的异常,或者将异常向上抛出。
- 避免使用空的catch块,至少应该记录异常信息。
-
使用集合框架:
- 熟练掌握Java的集合框架,如List、Set、Map等。
- 根据需求选择合适的集合类型,以提高性能。
-
多线程编程:
- 了解Java的多线程机制,如线程创建、同步和通信。
- 避免共享可变状态,或使用同步块和锁来确保线程安全。
- 使用并发工具类,如线程池、Future和Callable,以简化多线程编程。
-
性能优化:
- 理解JVM的工作原理和内存管理,以避免内存泄漏和性能问题。
- 使用适当的算法和数据结构来优化代码性能。
- 考虑使用缓存、懒加载等策略来提高性能。
-
测试与调试:
- 编写单元测试和集成测试,确保代码的正确性。
- 使用调试工具来跟踪和解决问题。
- 遵循测试驱动开发(TDD)原则,先写测试再写代码。
-
学习新技术和框架:
- 关注Java社区的发展,学习新的技术和框架。
- 了解Spring、Hibernate等主流框架,以便在实际项目中应用。
-
持续学习与实践:
- 阅读优秀的Java代码和开源项目,学习他人的编程风格和最佳实践。
- 参加技术社区和论坛,与其他开发者交流经验和技巧。
- 通过实际项目来锻炼自己的编程能力,不断积累经验和提升水平。
遵循这些步骤和技巧,你将能够写出高质量、可维护的Java代码。同时,不断学习和实践也是提高编程能力的重要途径。
四、如何做好代码review
代码审查(Code Review)是软件开发过程中的一个重要环节,它有助于提高代码质量、减少错误、促进团队协作和知识共享。以下是一些建议,帮助你做好代码审查:
-
理解审查目的:
- 代码审查的主要目的是找出代码中的缺陷、不足以及潜在的错误,而不是针对个人进行批评。
- 通过审查,可以提高团队的整体技术水平,促进团队成员之间的学习和交流。
-
准备阶段:
- 在开始审查之前,了解代码的背景、目的和功能,以便更好地理解代码逻辑。
- 准备好审查工具和环境,确保可以顺畅地浏览和编辑代码。
-
关注重点:
- 注重代码的结构、逻辑、性能和安全性等方面,确保代码符合团队的编程规范和最佳实践。
- 关注代码的可读性和可维护性,确保代码易于理解和修改。
-
采用合适的审查方式:
- 可以选择团队审查(Team Review)或同伴审查(Peer Review)等方式,根据团队规模和项目需求来确定。
- 在审查过程中,保持开放和尊重的态度,鼓励团队成员提出意见和建议。
-
提问与讨论:
- 在审查过程中,不要害怕提出问题或质疑代码的设计。通过提问和讨论,可以深入了解代码的实现细节,并找出可能存在的问题。
- 对于有疑问的地方,与作者进行沟通,了解他们的想法和意图,以便更好地理解代码。
-
记录审查结果:
- 将审查过程中发现的问题、建议和改进意见记录下来,以便后续跟踪和修复。
- 对于重大问题或争议点,可以在团队会议中进行讨论和决策。
-
持续改进:
- 根据审查结果,对代码进行修改和优化,提高代码质量。
- 总结审查过程中的经验和教训,分享给团队成员,以便在未来的项目中避免类似问题。
-
保持积极心态:
- 代码审查是一个学习和成长的过程,不要将审查结果视为对个人的评价。
- 保持积极的心态,愿意接受他人的意见和建议,不断提升自己的编程能力。
通过遵循以上建议,你可以做好代码审查工作,提高代码质量,促进团队协作,为项目的成功做出贡献。
五、java开发规范
Java开发规范是一个旨在提高代码质量、可读性和可维护性的准则集合。这些规范通常涉及命名、编码风格、注释、异常处理、日志记录等多个方面。以下是一些常见的Java开发规范:
- 命名规范:
- 类名使用驼峰命名法,首字母大写。
- 方法名和参数名使用驼峰命名法,首字母小写。
- 常量名全部大写,使用下划线分隔单词,并加上
public static final
修饰符。 - 抽象类前缀可以使用
abstract
或base
。 - 接口实现类应带有
Impl
后缀。 - 枚举类应加上
Enum
后缀。 - 包名统一使用小写,通常使用
com.(公司名).(模块名)
的形式。 - 工具类一般以
Utils
作为后缀。
- 编码规范:
- 消除编译告警,确保代码质量。
- 控制方法代码行数在30~50行之间,保持方法的职责单一。
- 控制文件代码行数在300~500行之间,避免文件过长导致维护困难。
- 清除冗余代码,删除未使用的方法、变量等。
- 遵循单一职责原则,每个类或方法只做一件事。
- 注释规范:
- 注释应清晰明了,解释代码的目的、功能、输入、输出和潜在风险。
- 避免使用拼音进行命名或注释。
- 对于国际化团队或海外部署的服务器,使用全英文来注释和描述。
- 异常处理规范:
- 异常信息应包括案发现场信息和异常堆栈信息。
- 谨慎地记录日志,避免在生产环境输出
debug
日志,并选择性输出info
日志。 - 使用
warn
日志级别来记录用户输入参数错误的情况。 - 尽量使用英文描述日志错误信息,以避免歧义。
- 日志记录规范:
- 在生产环境中,禁止输出
debug
级别的日志。 - 有选择地输出
info
级别的日志,避免日志输出量过大。 - 如果使用
warn
来记录业务行为信息,要注意日志输出量,避免撑爆服务器磁盘。 - 及时删除不再需要的观察日志。
- 在生产环境中,禁止输出
- 方法命名规范:
- 获取多个对象的方法应以
list
做前缀,并以复数结尾,如listObjects
。 - 获取统计值的方法应以
count
做前缀。 - 插入的方法应以
save
或insert
做前缀。
- 获取多个对象的方法应以
这些规范并非一成不变,不同的项目或团队可能根据自身需求制定不同的规范。重要的是保持代码的一致性、可读性和可维护性,以提高开发效率和代码质量。同时,随着Java语言的不断发展和新的最佳实践的出现,开发规范也可能随之更新和完善。因此,开发者应时刻保持对新技术和新规范的关注和学习。