## 文件命名与组织方法整理

### 一、核心理念：为什么需要命名规范？

一个友好的文件名，除了方便检索外，还应让人看着舒服、易懂、简便。当迷失在“新建文件夹 01、02”中时，好的命名习惯能让你：

- 再次看到时，能马上理解内容
    
- 能代表文件的核心信息
    
- 方便快速搜索到


#### 命名文件夹、文档的核心
1. 结构一致性
	
	原则：保持文档命名结构的一致性
	检验标准：你通过【名字】可以轻松寻找和区别你要的版本和文件
	使用一致的、特定的命名规则，如文件标题内容表 + 版本号 + 日期 + 时间等。
	也许因为你职业需要，还要加入一些编码参数：比如地点 POI、视频文件的编码等
	正常：The Angry Birds Movie 720 p.BlueRay
反例：新建 word 文档、新建 PPT
2. 可读性高
	
	原则：文档命名要保持清晰明了、简洁直观的原则
	检验标准：除非需要保密，做到可以准确地描述、定位文档的主要内容
	比如文档状态，文档
	比如你的业务跟合同有关，那么一定要体现 跟谁的合同，什么时候的时间版本等信息
	比如你的内容跟城市和销售有关，可能有时候你还要加上地域信息：北京、上海等
	应该避免使用含糊不清的语句来命名，也要避免过长的文字表达
	反例：新建文件夹 1、新建文件夹 2
3. 规则排序性
	
	可使用日期、版本号、时间等带有数字的命名结尾，便于文档排序管理，也方便用户按需进查找。
	这个编码方式可以参考 Johnny-Decimal-源于数字编码的管理系统 或者杜威十进制，当然也包含 PARA 信息组织法 等方式，这里不做赘述。



---

### 二、通用文件命名规范（OS 简易命名法）

#### 基本结构

**理解命名的元数据**

了解下 元数据 ，元数据你可以理解成，就是一个孤立定义的参数。代表你文件的某一类属性，可以单一存在，也可以通过多个元数据，更具体的标明你的文件和文件夹

> **对象命名词（或编号）+ 文件命名词 + 作者 + 版本号 + 日期 .扩展名**

**示例**：`PKMer 周会 - 开发周会纪要 - OS - V1.0 - 20230602.doc`

#### 命名格式的七个要素

|要素|说明|示例|
|---|---|---|
|**1. 编号**|数字序号、字母数字组合，用于手动排序| `01-`、`022-`、`属性1-属性2-` |
|**2. 标题**|文件主标题，描述内容本质| `xxx周会`、`xxx需求文档` |
|**3. 版本**|里程碑编号，建议完成完整待办后再变更| `(v1.0)`、`(v2.1.3)` |
|**4. 时间**|年月日、时分秒，根据精度决定| `(2023-06-01)`、`(20230601-143052)` |
|**5. 标签**|补充信息，如地点、性质| `#todo`、`#后端`、`#北京` |
|**6. 人物**|人名、组织名、作者、协作者| `@张三`、`@运营部` |
|**7. 备注**|强烈补充说明，慎用（会拉长文件名）| `&临时备注` |

#### 分隔符建议

|用途|推荐符号|示例|
|---|---|---|
|不同部分之间| `-` 或 `__` | `项目名-文件名-作者` |
|同一部分的子项| `.` | `2023.06.01`、`FR3S.129C.2653` |
|版本号| `( )` | `(v1.0)` |
|标签| `#` | `#已完成` |
|人物| `@` | `@张三` |
|备注| `&` | `&待复核` |

#### 日期格式规范

|精度|格式|示例|
|---|---|---|
|年| `(YYYY)` | `(2023)` |
|年月| `(YYYY-MM)` | `(2023-06)` |
|年月日| `(YYYY-MM-DD)` | `(2023-06-01)` |
|精确到分钟| `(YYYYMMDD-HHMM)` | `(20230601-1430)` |

---

### 三、Johnny.Decimal 数字编码管理系统

这是一个**基于数字编码的文件/文件夹组织系统**，核心思想是：用数字代替复杂的层级路径，让你能快速定位任何文件。

#### 核心步骤

**第一步：把所有内容分成至多 10 个领域（文件夹）**

- 确保它们之间明确不同
    
- 给每个领域贴上独一无二的标签（编号）
    

|编号|领域|
|---|---|
|10-19|工作 A|
|20-29|工作 B|
|30-39|个人学习|
|40-49|娱乐|

**第二步：在每个领域内再分成至多 10 个分类**

- 每个分类最多 10 个子项
    
- 最多可形成：10 领域 × 10 分类 = 100 个分类
    

**第三步：给每个分类编号（两位数）**

- 前两位代表所属领域：`10-19`、`20-29` ……
    
- 加上小数点后两位代表具体分类：`10.01`、`10.02` ……
    

**示例结构**：

text

30-39 娱乐/
├── 31 电影/
│   ├── 31.01 IMDB 250/
│   ├── 31.02 奥斯卡获奖/
│   └── 31.03 待看清单/
├── 32 音乐/
│   ├── 32.01 摇滚/
│   ├── 32.02 古典/
│   └── 32.03 播放列表/
└── 33 游戏/
    ├── 33.01 已通关/
    └── 33.02 待玩/


实践网站：
[Drag-n-Drop Johnny Decimal Index Generator](https://johnny-decimal-generator.netlify.app/)
#### 最佳实践提示

|原则|说明|
|---|---|
|**标准化**|对不同领域使用相同的编号结构（如 11/21/31 都表示“核心文件”）|
|**最短路径**|设计时考虑最少的鼠标点击次数|
|**友好命名**|数字编码 + 可读文件夹名，如 `31.01 IMDB 250` |
|**触类旁通**|可应用到邮箱、实体文件柜等场景|
|**快捷搜索**|配合 Everything、Listary 等工具，直接输入数字编号定位|

#### 搜索技巧

- **Windows**：Everything / Listary，直接输入数字编码如 `31.02`
    
- **Mac**：Spotlight / Alfred
    

---

### 四、两种命名方法的融合使用建议

|场景|推荐方法|原因|
|---|---|---|
|**文件夹层级结构**|Johnny.Decimal|数字编码统一、易记、可跨领域复用|
|**单个文件命名**|OS 简易命名法|包含作者、版本、日期等元信息，便于检索|
|**两者结合示例**|Johnny.Decimal 路径 + OS 文件名|既保证结构清晰，又保证文件信息完整|

**融合示例**：

1. 影视/视频工作者


```text
格式：YYYYMMDD-主题.场景.设备.分辨率.编码.文件编号-标签_作者.扩展名
示例：20211025-幼儿园儿童节活动.开幕.EOSR 6 MarkII.4 k 60.BTS-Zhang.mov
解析：
- 20211025：拍摄日期
- 幼儿园儿童节活动：主题
- 开幕：场景
- EOSR 6 MarkII：设备
- 4 k 60：分辨率与帧率
- BTS：标签（幕后）
- Zhang：摄影师
```



2. 科研/实验室工作


```text
格式：YYYYMMDD _属性 1.属性 2.属性 3 _标签_作者.扩展名
示例：20140623-FR 3 S.129 C.2653-NewProgress_BD.JPG
解析：
- 20140623：日期
- FR 3 S：研究地点（FR 3 潜水域）
- 129 C：区域 129，覆盖处理
- 2653：照片序号
- NewProgress：有新进展（标签）
- BD：研究人员
```


3. 求职简历（按公司要求）

text

```text
格式示例 1：应聘 XX 岗位 - 姓名 - 学校 - 手机号格式

示例 2：姓名 + 学历 + 学校 + 实习时间 + 应聘岗位 + 意向城市 + 手机号
```

### 五、文件夹使用技巧

#### 1. 接受冗余

- 建立【工程文件夹】，内部包含【参考文件文件夹】
    
- 好处：不影响原始文件、删除反而更容易
    

#### 2. 统一编码

|编码|含义|
|---|---|
|01|输出文件|
|02|外部进入的文件|
|03|参考文件|

> 看到文档序号或文件夹序号，就知道这是哪个项目的用途

#### 3. 兼容性考虑（严格命名）

对于需要兼容陈旧系统的场景：

- 尽量使用简洁的中文和英文，推荐英文
    
- 主体使用数字、半角英文字母
    
- 可使用的安全符号：`-` `_` `.`
    
- 避免：`: ~ ! @ # $ % ^ & * ( )` 等符号
    

---

### 六、快速检查清单

每次命名文件或文件夹时，快速问自己：

- 再次看到时能马上理解内容吗？
    
- 文件名是否代表了核心信息？
    
- 是否方便以后快速搜索到？
    
- 是否包含了必要的版本、日期、作者信息？
    
- 命名格式是否与团队/个人规范一致？
    

---

### 七、小结

1. **没有完美的命名方法**，只有适合自己的
    
2. 命名必然增加日常维护工作量，需要养成习惯
    
3. 不用非要遵循某个大神的方法，**寻找适合自己的就好**
    
4. 理解**元数据**这个概念，有助于结构化的思考
    
5. 配合搜索工具（Everything、Listary、Spotlight 等）可大幅提升效率