明知还常犯的Java编码坏习惯之规范的注释

2024-04-17 13:04

本文主要是介绍明知还常犯的Java编码坏习惯之规范的注释,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.编码中常见的三种注释坏习惯

  • 无注释
  • 无用的注释
  • 过多的注释

2.使用角度

注释不能太多,也不能太少,主要添加在类和函数上。好的命名可以替代明确或简单的类和函数。

3.本质

注释 = 做什么,为什么,怎么做,怎么用,对一些边界条件,特殊情况进行说明,以及对函数输入,输出,异常进行说明。

4.提升方式

写好注释很关键,可以通过查看网上优秀案例代码的方式去练习,或者参考大佬们的代码,比如jdk源码等

5.关于注释使用英文还是中文

  • 有人说建议使用英文注释,与国际接轨。
  • 个人想说,去球吧,大家都是中国人,代码是提供给团队同伴看的,一定要使用中文,不然你等着大家心里骂你:炫技呀、就你能、都看不懂。

6.一个代码的注释示例

[仅作示例,不作为可执行程序]

/*** 解析某个路径下的XML来构建应用上下文** @author zhangsan* @version 2023/09/19 14:59:33* @since 1.0.0*/
public class ClassPathXmlApplicationContext {private List<BeanDefinition> beanDefinitionList = new ArrayList<>();private Map<String, Object> singletonMap = new HashMap<>();/*** 构造器获取外部配置,解析出Bean的定义,形成内存映像* @param fileName*/public ClassPathXmlApplicationContext(String fileName) {this.readXml(fileName);this.instanceBeans();}/*** 解析XML配置文件,将配置文件中每一个<bean>的定义存放到beanDefinitionList* @param fileName*/private void readXml(String fileName) {// 1.通过文件名,解析XML配置文件SAXReader saxReader = new SAXReader();URL xmlPath = this.getClass().getClassLoader().getResource(fileName);Document document = saxReader.read(xmlPath);Element rootElement = document.getRootElement();// 2.对配置文件中的每一个<bean>,进行处理for (Element element : (List<Element>) rootElement.elements()) {// 获取Bean的基本信息String beanID = element.attributeValue("id");String beanClassName = element.attributeValue("class");BeanDefinition beanDefinition = new BeanDefinition(beanID, beanClassName);// 3.将Bean的定义存放到beanDefinitionListbeanDefinitionList.add(beanDefinition);}}/*** 利用反射创建Bean实例,并存储在singletonMap中*/private void instanceBeans() {for (BeanDefinition beanDefinition : beanDefinitionList) {singletonMap.put(beanDefinition.getId(), Class.forName(beanDefinition.getClassName()).newInstance());}}/*** 这是对外的一个方法,让外部程序通过BeanName从容器中获取Bean实例*/public Object getBean(String beanName) {return singletonMap.get(beanName);}
}

这篇关于明知还常犯的Java编码坏习惯之规范的注释的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/911876

相关文章

Java中Map的五种遍历方式实现与对比

《Java中Map的五种遍历方式实现与对比》其实Map遍历藏着多种玩法,有的优雅简洁,有的性能拉满,今天咱们盘一盘这些进阶偏基础的遍历方式,告别重复又臃肿的代码,感兴趣的小伙伴可以了解下... 目录一、先搞懂:Map遍历的核心目标二、几种遍历方式的对比1. 传统EntrySet遍历(最通用)2. Lambd

Spring Boot 中 RestTemplate 的核心用法指南

《SpringBoot中RestTemplate的核心用法指南》本文详细介绍了RestTemplate的使用,包括基础用法、进阶配置技巧、实战案例以及最佳实践建议,通过一个腾讯地图路线规划的案... 目录一、环境准备二、基础用法全解析1. GET 请求的三种姿势2. POST 请求深度实践三、进阶配置技巧1

springboot+redis实现订单过期(超时取消)功能的方法详解

《springboot+redis实现订单过期(超时取消)功能的方法详解》在SpringBoot中使用Redis实现订单过期(超时取消)功能,有多种成熟方案,本文为大家整理了几个详细方法,文中的示例代... 目录一、Redis键过期回调方案(推荐)1. 配置Redis监听器2. 监听键过期事件3. Redi

Spring Boot 处理带文件表单的方式汇总

《SpringBoot处理带文件表单的方式汇总》本文详细介绍了六种处理文件上传的方式,包括@RequestParam、@RequestPart、@ModelAttribute、@ModelAttr... 目录方式 1:@RequestParam接收文件后端代码前端代码特点方式 2:@RequestPart接

SpringBoot整合Zuul全过程

《SpringBoot整合Zuul全过程》Zuul网关是微服务架构中的重要组件,具备统一入口、鉴权校验、动态路由等功能,它通过配置文件进行灵活的路由和过滤器设置,支持Hystrix进行容错处理,还提供... 目录Zuul网关的作用Zuul网关的应用1、网关访问方式2、网关依赖注入3、网关启动器4、网关全局变

SpringBoot全局异常拦截与自定义错误页面实现过程解读

《SpringBoot全局异常拦截与自定义错误页面实现过程解读》本文介绍了SpringBoot中全局异常拦截与自定义错误页面的实现方法,包括异常的分类、SpringBoot默认异常处理机制、全局异常拦... 目录一、引言二、Spring Boot异常处理基础2.1 异常的分类2.2 Spring Boot默

基于SpringBoot实现分布式锁的三种方法

《基于SpringBoot实现分布式锁的三种方法》这篇文章主要为大家详细介绍了基于SpringBoot实现分布式锁的三种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、基于Redis原生命令实现分布式锁1. 基础版Redis分布式锁2. 可重入锁实现二、使用Redisso

SpringBoot的全局异常拦截实践过程

《SpringBoot的全局异常拦截实践过程》SpringBoot中使用@ControllerAdvice和@ExceptionHandler实现全局异常拦截,@RestControllerAdvic... 目录@RestControllerAdvice@ResponseStatus(...)@Except

Springboot配置文件相关语法及读取方式详解

《Springboot配置文件相关语法及读取方式详解》本文主要介绍了SpringBoot中的两种配置文件形式,即.properties文件和.yml/.yaml文件,详细讲解了这两种文件的语法和读取方... 目录配置文件的形式语法1、key-value形式2、数组形式读取方式1、通过@value注解2、通过

Java 接口定义变量的示例代码

《Java接口定义变量的示例代码》文章介绍了Java接口中的变量和方法,接口中的变量必须是publicstaticfinal的,用于定义常量,而方法默认是publicabstract的,必须由实现类... 在 Java 中,接口是一种抽象类型,用于定义类必须实现的方法。接口可以包含常量和方法,但不能包含实例