明知还常犯的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的定义存放到beanDefinitionList
            beanDefinitionList.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);
    }
}
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值