Skip to content

Commit 19adbca

Browse files
committed
doc(readme): 更新模块 ID 双声明规则说明
同步五语言 README:模块 ID 说明改为文件名前缀与 option 声明 二选一(前缀优先),补充并存须一致、疑似前缀报错、皆无报错 三条规则及示例写法。
1 parent afab88f commit 19adbca

5 files changed

Lines changed: 55 additions & 10 deletions

File tree

‎README.ja.md‎

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ docker run --rm \
8080
```protobuf
8181
syntax = "proto3"; // 必須:proto3 のみサポート
8282
package Basic;
83-
option module = 10; // 必須:モジュール ID の定義
83+
option module = 10; // モジュール ID:ファイル名プレフィックス(_0010_Name.proto)またはこの宣言のどちらか。併存時は一致必須
8484
8585
// ハートビートリクエスト
8686
message ReqHeartBeat
@@ -98,7 +98,16 @@ message ReqHeartBeat
9898

9999
## モジュール ID ルール
100100

101-
`option module = <id>;` でモジュール ID を定義します:
101+
モジュール ID は 2 つの方法で宣言でき、**ファイル名プレフィックスが優先**されます:
102+
103+
1. **ファイル名プレフィックス**:`_<モジュールID>_<名前>.proto`(例:`_0010_Basic.proto` → モジュール 10、`_-0120_Inner_Social.proto` → モジュール -120。区切りには `-` も使用可能、例:`_0010-Basic.proto`)
104+
2. **option 宣言**:`option module = <id>;`
105+
106+
ルール:
107+
108+
- 両方存在する場合は一致が必須。不一致はビルドエラー
109+
- `_` + 数字で始まるが 2 番目の区切り記号がないファイル名(例:`_0010Basic`)は命名エラーとなりビルドエラー
110+
- 両方存在しない場合もビルドエラー
102111

103112
| ID 範囲 | 用途 |
104113
|---------|------|

‎README.ko.md‎

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ docker run --rm \
8080
```protobuf
8181
syntax = "proto3"; // 필수: proto3만 지원
8282
package Basic;
83-
option module = 10; // 필수: 모듈 ID 정의
83+
option module = 10; // 모듈 ID: 파일 이름 접두사(_0010_Name.proto) 또는 이 선언 중 하나. 둘 다 있으면 일치 필수
8484
8585
// 하트비트 요청
8686
message ReqHeartBeat
@@ -98,7 +98,16 @@ message ReqHeartBeat
9898

9999
## 모듈 ID 규칙
100100

101-
`option module = <id>;`로 모듈 ID를 정의합니다:
101+
모듈 ID는 두 가지 방식으로 선언할 수 있으며, **파일 이름 접두사가 우선**합니다:
102+
103+
1. **파일 이름 접두사**: `_<모듈ID>_<이름>.proto` (예: `_0010_Basic.proto` → 모듈 10, `_-0120_Inner_Social.proto` → 모듈 -120. 구분자로 `-`도 허용, 예: `_0010-Basic.proto`)
104+
2. **option 선언**: `option module = <id>;`
105+
106+
규칙:
107+
108+
- 둘 다 존재하면 반드시 일치해야 하며, 불일치 시 빌드 오류
109+
- `_` + 숫자로 시작하지만 두 번째 구분자가 없는 파일 이름(예: `_0010Basic`)은 명명 오류로 간주되어 빌드 오류
110+
- 둘 다 없으면 빌드 오류
102111

103112
| ID 범위 | 용도 |
104113
|---------|------|

‎README.md‎

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ This tool has specific requirements for `.proto` file formatting. Please follow
8080
```protobuf
8181
syntax = "proto3"; // Required: only proto3 is supported
8282
package Basic;
83-
option module = 10; // Required: module ID must be defined
83+
option module = 10; // Module ID: file name prefix (_0010_Name.proto) or this declaration; must match when both present
8484
8585
// Request heartbeat
8686
message ReqHeartBeat
@@ -98,7 +98,16 @@ message ReqHeartBeat
9898

9999
## Module ID Rules
100100

101-
Module ID is defined via `option module = <id>;`:
101+
Module ID can be declared in two ways, with the **file name prefix taking precedence**:
102+
103+
1. **File name prefix**: `_<moduleID>_<name>.proto` (e.g., `_0010_Basic.proto` → module 10, `_-0120_Inner_Social.proto` → module -120; `-` is also accepted as the separator, e.g., `_0010-Basic.proto`)
104+
2. **option declaration**: `option module = <id>;`
105+
106+
Rules:
107+
108+
- When both are present they must match, otherwise the build fails
109+
- A file name starting with `_` + digits but missing the second separator (e.g., `_0010Basic`) is treated as a naming error and fails the build
110+
- When neither is present the build fails
102111

103112
| ID Range | Purpose |
104113
|----------|---------|

‎README.zh-CN.md‎

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ docker run --rm \
8080
```protobuf
8181
syntax = "proto3"; // 必须声明:仅支持 proto3
8282
package Basic;
83-
option module = 10; // 必须定义:模块 ID
83+
option module = 10; // 模块 ID:文件名前缀(_0010_Name.proto)或此声明,二选一;并存时必须一致
8484
8585
// 请求心跳
8686
message ReqHeartBeat
@@ -98,7 +98,16 @@ message ReqHeartBeat
9898

9999
## 模块 ID 规则
100100

101-
通过 `option module = <id>;` 定义模块 ID:
101+
模块 ID 有两种声明方式,**文件名前缀优先**:
102+
103+
1. **文件名前缀**:`_<模块ID>_<名称>.proto`(如 `_0010_Basic.proto` → 模块 10、`_-0120_Inner_Social.proto` → 模块 -120;分隔符兼容 `-`,如 `_0010-Basic.proto`)
104+
2. **option 声明**:`option module = <id>;`
105+
106+
规则:
107+
108+
- 两者并存时必须一致,否则构建报错
109+
- 文件名以 `_` + 数字开头但缺少第二个分隔符(如 `_0010Basic`)视为命名错误,构建报错
110+
- 两者皆无时构建报错
102111

103112
| ID 范围 | 用途 |
104113
|---------|------|

‎README.zh-TW.md‎

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ docker run --rm \
8080
```protobuf
8181
syntax = "proto3"; // 必須宣告:僅支援 proto3
8282
package Basic;
83-
option module = 10; // 必須定義:模組 ID
83+
option module = 10; // 模組 ID:檔名前綴(_0010_Name.proto)或此宣告,二擇一;並存時必須一致
8484
8585
// 請求心跳
8686
message ReqHeartBeat
@@ -98,7 +98,16 @@ message ReqHeartBeat
9898

9999
## 模組 ID 規則
100100

101-
透過 `option module = <id>;` 定義模組 ID:
101+
模組 ID 有兩種宣告方式,**檔名前綴優先**:
102+
103+
1. **檔名前綴**:`_<模組ID>_<名稱>.proto`(如 `_0010_Basic.proto` → 模組 10、`_-0120_Inner_Social.proto` → 模組 -120;分隔符號相容 `-`,如 `_0010-Basic.proto`)
104+
2. **option 宣告**:`option module = <id>;`
105+
106+
規則:
107+
108+
- 兩者並存時必須一致,否則建置報錯
109+
- 檔名以 `_` + 數字開頭但缺少第二個分隔符號(如 `_0010Basic`)視為命名錯誤,建置報錯
110+
- 兩者皆無時建置報錯
102111

103112
| ID 範圍 | 用途 |
104113
|---------|------|

0 commit comments

Comments
 (0)