用途:这是一个 Java 编码规范技能,在编写、审查或重构 Java 代码时启用,用于统一基础编码约定。规则适用于所有 Java 代码,除非被更具体的技能显式覆盖。
主要能力与规则要点: 导入使用显式导入,不使用通配符;类内保持一致的垂直空行(类左花括号后、字段块之间、字段与构造器、构造器与方法、方法之间各一个空行)。使用单一主构造器,辅助构造器用 this() 委托。避免用 Optional 作返回值或参数,改用 @Nullable。期望为 null 时用包装类型,否则用基本类型;一般 null 比较用 A == null,Stream/函数式场景用 Objects.isNull。可空性使用 JSpecify 注解,@Nullable/@NonNull 应用于所有方法(含私有方法),避免类级或包级注解。包名全小写加数字;静态工厂方法仅用 of 命名,多类型用 of<Postfix>。AutoCloseable 资源必须用 try-with-resources,不依赖 finalizer;优先组合而非继承;对象尽量用 final 保证不可变。异常与断言按信任边界逐条件选择,并给出决策表与类型建议。异常只捕获最小必要类型,在被处理边界处记录一次。实现 AutoCloseable 时 close() 需幂等且不抛异常,仅记录日志。日期时间只用 java.time,新代码禁用 java.util.Date/Calendar,旧接口仅在边界转换。
使用方式:该技能以规则说明形式提供,在编码、评审或重构 Java 时按其约定执行;资料未提供安装命令、调用命令或配置文件。
适用场景:Java 项目的日常开发、代码审查与重构,尤其是需要跨团队统一风格与可空性语义的代码库。
限制:资料未提供版本要求、许可、平台、价格与效果数据;具体规则以原始资料为准,本介绍不添加未给出的功能或步骤。