shinelon

Java Development Manual

開發程式設計v0.1.0
作者:shinelon更新於 2026-05-11java-development-manual@clawhub_shinelon/java-development-manual
程式碼生成程式碼審查測試生成#MySQL#单元测试#数据库#编程#安全

據 AlphaMoat 統計,截至 2026-09,Java Development Manual 累計下載 3,361 次、獲 13 個星標,在全部 5,078 個 AI 技能中排名第 3,357 位,在「開發程式設計」分類(577 個)中排名第 425 位。

累計安裝
302
累計下載
3361
星標
13
全站排名
#3,357
全站前 67% · 「開發程式設計」前 74%
平台累計安裝累計下載星標評論
ClawHub ↗7425505-
SkillHub ↗302336113—

各平台的計數口徑不同,統計時間不一致。

這個技能是做什麼的

基於阿里巴巴手冊嵩山版,導航到程式設計、異常日誌、測試、安全、MySQL、工程結構和設計參考,區分強制、推薦與參考等級用於審查。Java 和 SQL 示例需按專案調整,資料庫使用前隔離測試資料並設定回滾。

資料釋出於 2026-10-27

可以用來做什麼

  • 審查 Java 規約

什麼時候用

  • 任務明確涉及 Java 開發規範時

示例提示詞

以下是根據技能文件生成的示例,不代表實際執行結果。

按相關章節審查這份 Java 改動,並區分規約等級。

月度資料趨勢

累計下載3361
788217035522026-03 · 累計下載 9792026-05 · 累計下載 17232026-06 · 累計下載 19102026-07 · 累計下載 22512026-08 · 累計下載 26442026-09 · 累計下載 336126-0326-09
星標13
49142026-03 · 星標 52026-05 · 星標 92026-06 · 星標 92026-07 · 星標 122026-08 · 星標 132026-09 · 星標 1326-0326-09

2026-09 起統計方法調整:同名技能按作者分別統計,並覆蓋全部技能。圖中虛線為調整前的月份,與之後的資料不直接比較,也不計算跨越調整的增長。 該技能有同名的其他版本,調整前的資料歸屬當前下載量最大的這一個。

月份累計下載環比星標
2026-093361—13
2026-082644+17.5%13
2026-072251+17.9%12
2026-061910+10.9%9
2026-051723—9
2026-03979—5

SKILL.md 原文

以下是作者釋出的原始檔案,按純文字顯示,本站未做修改或稽核;其中的連結不可點選,命令請核實後再執行。抓取於 2026-10-23。

5.3 KB · ClawHub v0.1.0
---
name: java-development-manual
description: |
  Java开发手册规约集合,基于阿里巴巴Java开发手册(嵩山版)。
  涵盖7大维度:编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程结构、设计规约。
  当用户需要:(1) 编写或审查Java代码 (2) 检查命名/代码规范 (3) 处理异常和日志 (4) 编写单元测试 (5) 安全编码 (6) 数据库设计 (7) 工程架构设计时使用此skill。
  触发词:Java规范、阿里规约、代码规范、开发手册、编程规约、异常处理、单元测试、安全、MySQL、工程结构、设计模式。
---

# Java开发手册(嵩山版)
展開全部(共 159 行)

## 概述

本手册基于阿里巴巴Java开发手册(嵩山版),将规约分为7个维度。规约按约束力强弱分为:

| 级别 | 含义 | 说明 |
|------|------|------|
| **【强制】** | 必须遵守 | 违反可能导致严重问题 |
| **【推荐】** | 建议遵守 | 提升代码质量和可维护性 |
| **【参考】** | 可选择性采纳 | 根据实际情况判断 |

## 章节导航

根据需求选择对应章节的详细规约:

| 章节 | 适用场景 | 详细文档 |
|------|---------|----------|
| **编程规约** | 命名、格式、OOP、并发、集合处理 | [coding-convention.md](references/coding-convention.md) |
| **异常日志** | 错误码、异常处理、日志规范 | [exception-log.md](references/exception-log.md) |
| **单元测试** | 测试用例、覆盖率、Mock | [unit-test.md](references/unit-test.md) |
| **安全规约** | SQL注入、XSS、CSRF、脱敏 | [security.md](references/security.md) |
| **MySQL数据库** | 建表、索引、SQL、ORM | [mysql.md](references/mysql.md) |
| **工程结构** | 分层架构、依赖管理、服务器 | [project-structure.md](references/project-structure.md) |
| **设计规约** | UML、设计模式、设计原则 | [design.md](references/design.md) |

## 快速参考

### 命名规范速查

```java
// 类名:UpperCamelCase
public class UserService { }
public class UserDO { }      // DO/DTO/VO例外

// 方法名/变量:lowerCamelCase
private String userName;
public void getUserById() { }

// 常量:全大写+下划线
public static final int MAX_RETRY_COUNT = 3;

// 包名:全小写
package com.company.project.service;
```

### 禁止事项速查

| 禁止 | 原因 |
|------|------|
| 拼音命名 | 可读性差 |
| 魔法值 | 难以维护 |
| `SELECT *` | 性能和可维护性 |
| Executors创建线程池 | 可能OOM |
| 字符串拼接SQL | 注入风险 |
| finally中return | 丢失try返回值 |
| foreach中remove | ConcurrentModificationException |

### 必须事项速查

| 必须 | 原因 |
|------|------|
| 覆写方法加@Override | 避免签名错误 |
| 表必备三字段 | id, create_time, update_time |
| 敏感数据脱敏 | 隐私保护 |
| 参数校验 | 安全防护 |
| ThreadLocal回收 | 避免内存泄漏 |
| 日志用占位符 | 性能优化 |

### 异常处理速查

```java
// 正确的异常处理
try {
    // 业务逻辑
} catch (SpecificException e) {
    logger.error("操作失败, 参数: {}", params, e);
    throw new BusinessException("用户友好提示", e);
} finally {
    // 资源关闭(JDK7+ try-with-resources)
}
```

### 数据库速查

```sql
-- 建表必备
CREATE TABLE example (
    `id` bigint unsigned NOT NULL AUTO_INCREMENT,
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 索引命名
-- 主键: pk_字段名
-- 唯一: uk_字段名
-- 普通: idx_字段名
```

### 并发处理速查

```java
// 线程池创建
ThreadPoolExecutor executor = new ThreadPoolExecutor(
    corePoolSize,
    maximumPoolSize,
    keepAliveTime,
    TimeUnit.SECONDS,
    new LinkedBlockingQueue<>(queueCapacity),
    new ThreadFactory() {
        private AtomicInteger counter = new AtomicInteger(1);
        public Thread newThread(Runnable r) {
            return new Thread(r, "worker-" + counter.getAndIncrement());
        }
    },
    new ThreadPoolExecutor.CallerRunsPolicy()
);

// ThreadLocal使用
try {
    threadLocal.set(value);
    // 业务逻辑
} finally {
    threadLocal.remove();  // 必须回收
}
```

## 使用指南

### 代码审查场景

1. **命名检查** → 查看 [coding-convention.md](references/coding-convention.md) 的"命名风格"章节
2. **并发问题** → 查看 [coding-convention.md](references/coding-convention.md) 的"并发处理"章节
3. **异常处理** → 查看 [exception-log.md](references/exception-log.md)
4. **安全问题** → 查看 [security.md](references/security.md)

### 新项目搭建场景

1. **架构设计** → 查看 [design.md](references/design.md)
2. **分层结构** → 查看 [project-structure.md](references/project-structure.md)
3. **数据库设计** → 查看 [mysql.md](references/mysql.md)
4. **单元测试** → 查看 [unit-test.md](references/unit-test.md)

### 问题排查场景

1. **NPE问题** → 查看 [exception-log.md](references/exception-log.md) 的"NPE防护"
2. **性能问题** → 查看 [mysql.md](references/mysql.md) 的"索引规约"
3. **并发问题** → 查看 [coding-convention.md](references/coding-convention.md) 的"并发处理"

「開發程式設計」分類下的熱門技能

資料月份:2026-09 · 下載/星標/安裝數聚合自公開技能註冊庫(ClawHub、SkillHub),按月更新。口徑說明見資料方法。