根据文件内容,涉及的知识点非常丰富,涵盖了编程规范的多个方面。下面将详细阐述这些知识点:
一、整洁代码
整洁的代码应该具备代码正确、简洁明了、清晰易读和短小精确的特点。这意味着代码应该没有任何逻辑错误,形式上要简洁,便于其他人阅读理解,并且应该尽可能地简洁,避免不必要的复杂度。
二、命名规范
命名在编程中至关重要,一个好的命名能够让代码更容易理解。命名应该准确,即名称应该与代码实现的功能相匹配,并且容易区别。实用性也很重要,名称应该是可以被读出来的,同时便于在代码中搜索。此外,命名应该明确,一个概念最好只用一个词来表示,避免使用容易混淆的双关语。
三、函数
函数应该尽可能的短小,且具有单一职责,即一个函数只做一件事情。函数内的代码抽象层级应该保持一致,函数命名也要遵循上述的命名规范。参数应该尽可能少,如果需要多个参数,可以考虑将它们封装成一个类。异常处理方面,推荐使用异常类代替返回错误码,这样可以抽离出try/catch代码块,使代码更加整洁。
四、注释
注释的使用应该谨慎,尽量通过规范的代码来表达意思,减少无意义的注释。必要的注释包括法律信息、提供信息的注释、解释代码意图的注释以及可能存在的警示信息。对于未完成的部分可以使用TODO注释。不必要的代码应该直接删除而不是保留为注释。
五、格式
格式化是代码规范中非常重要的一个环节,良好的格式化习惯可以让代码更易于维护和扩展。垂直格式上行数应该尽量少,简洁明了,不同的概念或逻辑代码应该用空行隔开,相关代码应该尽量写在一起。水平格式上需要关注缩进和对齐。
六、对象与数据结构
区别过程式代码和面向对象代码非常重要。过程式代码便于添加新函数,而面向对象代码便于添加新类。这意味着过程式代码难以添加新数据结构,面向对象代码难以添加新函数,因为需要修改所有类。
七、错误处理
错误处理应该使用异常而不是错误码,异常处理可以让代码更加整洁美观。使用不可控异常而不是可控异常,因为可控异常违反开放/闭合原则。在异常发生的地方添加环境说明,有助于快速定位异常原因。同时应该避免返回null值或传递null值。
八、边界
代码应该有清晰的边界,尤其是与第三方库的代码,不应耦合太紧密。在使用第三方类库时应该通过探索性学习和测试来熟悉类库,编写良好的代码。
九、单元测试
单元测试遵循测试驱动开发(TDD)定律,即在编写生产代码前,先编写无法通过的单元测试;编写足够通过当前测试的生产代码。测试的五大规则(FIRST)包括快速、独立、可重复、自足验证和及时。
十、类
类应该尽可能短小,可以通过权责单一和高内聚的原则来实现。权责单一意味着一个类不应该承担太多职责,高内聚则要求类中变量尽可能少,方法尽可能多地使用这些变量。
十一、系统
系统的设计应该将构造与使用分开,可以通过工厂方法和依赖注入来实现。这一部分还提到了AOP(面向切面编程)和AspectJ,这些内容在Spring、EJB等框架中有所体现。
十二、重构
重构是编程过程中的一个关键环节,应该频繁运行所有的测试来确保代码质量。重构的目的在于消除重复代码,提高代码的表达力,以及维持代码的优雅。
十三、并发编程
并发编程可以解耦目的和时机,有三个防御原则:单一权责、限制数据作用域和使用数据副本。学习现有的并发类库,例如Java中的并发包,也是并发编程中非常重要的。
以上就是基于提供的文档内容,对JAVA编程中代码规范的详尽阐述。掌握这些规范,能够帮助开发者编写出更加清晰、健壮、易于维护的代码。