接下来,我将分享手册中的一些编程规则简介。首先,禁止在代码中直接使用魔法值,即未定义的常量,应通过静态常量或枚举来明确。这对我早期编程习惯产生了重大影响,帮助我避免了因随意使用魔法值而带来的问题。其次,手册推荐严格控制类、方法的访问权限,体现Java的封装性,避免模块间的过度耦合。孤尽老师...
【周一电台】阿里巴巴的Java开发手册黄山版来了
在周六的知乎浏览中,我偶然发现了一个关于"Java开发手册(黄山版)"的问题。这个手册出自孤尽老师的笔下,而我注意到,它已经更新到了黄山版,令人意外的是,这已是自2019年的华山版后的新进展,再往前追溯则是2017年的初版,我曾在阿里的公众号上下载过,还购买了实体书《Java开发手册》和《码出高效》。
这本手册并非深入的技术内容,但它对我的影响深远。它强调写出规范、清晰的代码,即使无法写出复杂高深的代码,也能让同事欣赏,而非惊呼。它提倡通过编程规约提升协作效率,减少误解,使代码如同软件的血液,更健康稳定。
接下来,我将分享手册中的一些编程规则简介。首先,禁止在代码中直接使用魔法值,即未定义的常量,应通过静态常量或枚举来明确。这对我早期编程习惯产生了重大影响,帮助我避免了因随意使用魔法值而带来的问题。
其次,手册推荐严格控制类、方法的访问权限,体现Java的封装性,避免模块间的过度耦合。孤尽老师以删除私有方法和公共服务成员的比喻,强调了控制变量范围的重要性。
在for循环中,手册建议避免在遍历过程中修改列表,以防止并发修改引发的ConcurrentModificationException。同样的,复杂的条件判断应分解为易于理解的布尔变量,提升代码可读性。
对于异常处理,手册强调了区分稳定代码和不稳定代码,对不同类型的异常进行针对性处理,避免笼统的try-catch影响程序的响应能力。在用户注册这类场景中,应明确提示用户错误信息。
此外,手册还规定了生产环境的日志规范,避免直接使用System.out或System.err,以及e.printStackTrace(),以防止内存溢出和日志混乱。存储数据时,推荐使用decimal而非float或double,以防止精度损失。
这本手册涵盖了Java编程的多个方面,提供了实用的指导。欲获取完整版手册,只需关注我的公众号"花园野人",回复"pdf1"即可。感谢收听本期的《周一电台》节目,期待你的持续关注和支持,我们下期再见。2024-08-21