agentsclimarketplace

Zh

Skill JohnRothan/Anthropic-Java-Skills/skills/alibaba-java-coding-guidelines/zh

Java books distilled into Claude Agent Skills — bilingual (简体中文 / English) skills for writing and reviewing Java code. First skill: Alibaba Java Development Manual (Huangshan Edition).

Install
npx -y skills add JohnRothan/Anthropic-Java-Skills --skill zh

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

阿里巴巴《Java 开发手册(黄山版)》编码规约。在编写、审查、重构或评审任何 Java 代码时都应使用本技能——包括命名风格、常量定义、代码格式、OOP 规约、日期时间、集合处理、 并发与多线程、控制语句、注释、异常处理、日志、单元测试、安全规约、MySQL 建表/索引/SQL/ORM、 以及应用分层等工程结构。无论用户是否明确提到“阿里规范 / P3C / 黄山版 / 开发手册”,只要任务涉及 Java 代码的产出或质量把关(如“写个 Java 类 / Service / DAO”“review 这段 Java”“这段代码符合规范吗” “建一张 MySQL 表”“帮我命名”“处理一下异常和日志”),都要主动参考本技能给出的规则与等级。

SKILL.md

7.2 KB, ~2.4k tokens by cl100k_base, as published. Nobody here has run it

阿里巴巴 Java 开发手册(黄山版)编码规约

本技能把阿里巴巴官方《Java 开发手册(黄山版)》转化为可执行的编码与代码审查指南,覆盖编程规约、 异常日志、单元测试、安全规约、MySQL 数据库、工程结构、设计规约七大维度。完整条文按维度拆分在 references/ 目录中,先用下方速查表覆盖高频场景,遇到具体维度再按需读取对应参考文件

规则等级(务必在产出中体现)

每条规则带有等级标签,处理冲突和给建议时按此优先级:

  • 【强制】——必须无条件遵守。违反会埋下故障、安全或可维护性隐患。写代码时不得违反;审查时必须作为问题(blocker)指出。
  • 【推荐】——强烈建议遵守。除非有充分理由,否则应采纳;审查时作为改进建议提出。
  • 【参考】——供参考的良好实践,可结合团队情况酌情采用。

使用方式

编写 Java 代码时

  1. 动手前先扫一遍下面的「高频强制规则速查」,确保命名、POJO、空指针、集合、并发、SQL 等高频点不踩坑。
  2. 任务集中在某个维度时(如写 DAO/建表 → MySQL;写并发工具 → 并发处理),读取对应的 references/ 文件再落笔,确保细节准确。
  3. 产出代码后自查:是否有【强制】被违反?若为兼顾可读性而偏离【推荐】,在说明中讲清理由。

审查 / 评审 Java 代码时

  1. 逐条对照相关维度的规则,按等级归类发现的问题:【强制】违规 = 必须修改【推荐】违规 = 建议改进
  2. 每条意见尽量引用规则出处(如“命名风格第 9 条【强制】:POJO 布尔字段不加 is 前缀”),便于对方理解与查证。
  3. 给出问题的同时给正例修法,不要只说“不符合规范”。

高频强制规则速查(覆盖最常见场景,免于每次翻参考文件)

命名

  • 类名 UpperCamelCase;方法/参数/成员/局部变量 lowerCamelCase;常量 UPPER_SNAKE_CASE
  • 禁止拼音与英文混用、禁止中文命名;禁止 _/$ 开头或结尾;杜绝不规范缩写。
  • POJO 布尔字段不要加 is 前缀(如用 deleted 而非 isDeleted),否则部分框架序列化出错。
  • 抽象类用 Abstract/Base 开头,异常类以 Exception 结尾,测试类以 Test 结尾。
  • 包名全小写、单数;Service/DAO 接口实现类用 Impl 后缀。

常量与类型

  • 不允许魔法值直接出现在代码中;long 赋值用大写 L(如 2L)。
  • POJO 类属性、RPC 入参/返回值必须用包装类型;局部变量用基本类型。
  • 整型包装类值比较用 equalsBigDecimal 等值比较用 compareTo(),禁止 new BigDecimal(double),用 new BigDecimal("0.1")BigDecimal.valueOf()
  • 浮点数不用 == 直接比较。金额用最小货币单位的整型存储。
  • POJO 不设属性默认值;必须写 toString();覆写方法必须加 @Override

集合

  • Arrays.asList() 的返回不可做 add/remove;判空用 isEmpty() 而非 size()==0
  • Collection.toArray(new T[0])foreach 循环里不要 remove/add 元素(用 Iterator 或并发容器)。
  • 重写 equals 必须同时重写 hashCode;用 Map.entrySet 遍历而非 keySet 二次取值。
  • 集合转 Map 注意 value 为 null 会 NPE;Collectors.toMap 注意 key 重复抛异常。

并发

  • 线程池不允许用 Executors 创建,必须用 new ThreadPoolExecutor(...),明确队列与拒绝策略,避免 OOM。
  • 线程/线程池必须命名(ThreadFactory);SimpleDateFormat 非线程安全,用 DateTimeFormatter
  • 加锁顺序一致避免死锁;并发修改用原子类/锁;ThreadLocal 用完 remove()

控制语句 / OOP

  • switch 每个 case 要么 break/return,要么注释说明穿透;必须有 default
  • if/else/for/while 即使单行也必须用大括号;避免超过 3 层嵌套(用卫语句/状态模式)。
  • 用常量或确定非空对象调 equals"x".equals(param))。

异常与日志

  • 不要 catch RuntimeException(如 NullPointerException/IndexOutOfBounds)来代替预检查,应预先判断。
  • try-catch 不要包住大段无关逻辑;catch 后不要只 printStackTrace 或吞掉;finally 中释放资源(或 try-with-resources)。
  • 日志用 SLF4J 门面 + 占位符 logger.info("id={}", id),不要字符串拼接;异常日志要打出上下文与堆栈。

MySQL(写 DDL/SQL/实体时)

  • 表必备字段 id(bigint unsigned 主键自增)、gmt_creategmt_modified;表名、字段名小写下划线,禁用保留字。
  • 表达是否概念的字段用 is_xxx(unsigned tinyint,1 是 0 否)。
  • 小数类型用 decimal,禁用 float/double 存金额;varchar 超 5000 用 text 并拆表。
  • SQL 用参数绑定防注入;count(*) 统计行数;分页、索引、like 左模糊会失效等见参考文件。

速查表是高频提醒,不是全部。涉及具体细节、边界与正反例时,请读取下方对应的参考文件确认。

参考文件索引(按需读取)

维度文件何时阅读
编程规约references/01-编程规约.md命名、常量、格式、OOP、日期、集合、并发、控制语句、注释、前后端、其它——写或评任何 Java 代码的主参考
异常日志references/02-异常日志.md设计错误码、异常处理策略、日志打印规范
单元测试references/03-单元测试.md编写或评审单元测试(AIR / BCDE 原则等)
安全规约references/04-安全规约.md涉及用户输入、权限、SQL 注入、XSS/CSRF、文件上传、脱敏、敏感信息
MySQL 数据库references/05-MySQL数据库.md建表、索引设计、SQL 语句、ORM/MyBatis 映射
工程结构references/06-工程结构.md应用分层(DO/DTO/VO、Manager 层)、二方库依赖、服务器配置
设计规约references/07-设计规约.md架构与设计层面的约定
专有名词references/08-专有名词解释.md遇到 POJO/DO/DTO/CAS/IDE 等术语需要确认含义时查阅

每个参考文件保留了官方条文的等级标签与正反例,引用时可直接标注“第 X 条【强制/推荐/参考】”。

What ships with it: 8 files

133.7 KB alongside SKILL.md

Keep looking

Skills are one crate of 327,132. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.