Skip to content

IDEA

IDEA常用注释标签

本文档整理了 IntelliJ IDEA Java 项目中常用的非 Javadoc 注释标签(如 // TODO// FIXME 等)。这些标签虽非 Java 语言标准,但被开发者社区和 IDE 广泛认可,能够有效提升代码可读性和团队协作效率。IDEA 会自动识别这些标签并将其集成到任务列表中,方便开发者追踪和管理。

TODO

含义:标记尚未完成的功能或需要后续添加的代码

适用场景

  • 临时占位实现,计划后续完善
  • 记录计划中的功能扩展或优化点
  • 需要调用尚未编写的方法时的占位标记

示例

java
public void processOrder(Order order) {
    // TODO: 实现支付网关集成
    // TODO: 添加订单验证逻辑
    System.out.println("Order processing started");
}

FIXME

含义:标记已知存在缺陷或问题(Bug)的代码,需要修复

适用场景

  • 标记已知但暂未修复的代码缺陷
  • 临时解决方案需要后续改进
  • 边界条件未处理的代码段

示例

java
public double calculateAverage(int[] numbers) {
    // FIXME: 空数组会导致除零异常,需要添加检查
    int sum = 0;
    for (int num : numbers) {
        sum += num;
    }
    return sum / numbers.length;
}

OPTIMIZE

含义:标记性能不佳、有待优化的代码段

适用场景

  • 识别潜在的性能瓶颈
  • 标记需要优化的算法或数据结构
  • 需要改进资源使用效率的代码

示例

java
public List<User> findActiveUsers() {
    List<User> allUsers = userRepository.findAll();
    List<User> activeUsers = new ArrayList<>();
    
    // OPTIMIZE: 数据量大时性能差,应改为数据库层过滤
    for (User user : allUsers) {
        if (user.isActive()) {
            activeUsers.add(user);
        }
    }
    return activeUsers;
}

XXX

含义:通用标签,标记任何值得警惕的、有问题的或有重要备注的代码

适用场景

  • 标记复杂或晦涩的代码逻辑
  • 使用非常规方法实现的代码段
  • 需要特别关注或审查的代码

示例

java
public void initializeSystem() {
    // XXX: 此初始化顺序至关重要,修改前请务必审查所有依赖关系
    loadConfiguration();
    setupDatabase();
    startServices();
}

HACK

含义:标记采用非正规、取巧方法实现的代码,通常是临时解决方案

适用场景

  • 绕过第三方库限制或缺陷的代码
  • 因时间限制而采用的临时解决方案
  • 非常规方法解决特定问题

示例

java
public String parseSpecialDate(String dateStr) {
    // HACK:  SimpleDateFormat 非线程安全,但此处是静态方法且调用不频繁
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    try {
        return format.format(format.parse(dateStr));
    } catch (ParseException e) {
        return "Invalid date";
    }
}

REVIEW

含义:标记采用临时感觉有问题的逻辑完成的需求代码

适用场景

  • 需求逻辑有问题,但先按照需求这样实现了

示例

java
public String supplementStoreAuthCode(String dateStr) {
    // REVIEW:  storeAuthCode 门店授权码生成逻辑还不明确,待明确后再修改
    storeUserBasicInfoDTO.setStoreAuthCode("补充门店授权码");
}

NOTE 或 NB

含义:强调代码中的重要细节、解释设计决策或提醒注意事项

适用场景

  • 解释看似奇怪但必要的代码实现
  • 说明特定设计决策的原因
  • 提醒后续开发者注意特定事项

示例

java
public void updateCache() {
    // NOTE: 此方法异步执行,不会阻塞主线程,但可能有一致性延迟
    executorService.submit(() -> {
        cache.refreshAll();
    });
}

IDEA注释标签管理

TODO 工具窗口 IDEA 提供了专门的 TODO 工具窗口来管理这些注释标签:

  • 打开方式:View → Tool Windows → TODO 或使用快捷键 Alt+6 (Windows/Linux)/Command+6 (macOS)
  • 功能:自动扫描并分类显示项目中的所有特殊注释标签

自定义标签配置 可以添加团队自定义的注释标签:

  • 打开设置:File → Settings → Editor → TODO
  • 点击 "+" 添加新模式,例如:\bREVIEW\b.* 来识别 // REVIEW:
  • 可以配置不同标签的颜色和图标以便区分