从 软件 的角度讲, 我们不应该要求用户以何种方式给他们的文件起名, 但确定一种灵活且规律的命名方式确实能帮助我们在给文件命名时省去不少时间.
这套方法使用固定长度的字符作为文件名, 每个字符取自 0-9
和 A-Z
. 换言之, 如果长度为 $4$ , 那么你可以从 0000
一直使用到 ZZZZ
, 总共 $36^4 = 1679716$ 也就是大约 168 万种可能.
在 --edit
功能的帮助下, 使用完全不涉及内容信息的 编号 作为文件名的命名方式在使用体验上已经得到了很大的改善. 它的优势也比较明显:
- 你可以在 $\mathcal{O}(1)$ 时间甚至
1ms
内决定一个新文件应该叫什么.
- 内容无关. 有时候这是一件好事, 举例来说, 当你对文件
7A96
的内容做出任何更改时, 都无需修改文件名以及引用了 7A96
的文件.
我们也能据此写出这种方式的缺点:
- 非语义的命名. 除了某种可能存在的字典序外, 我们无法从文件名获得更多信息, 为了快速从浏览中的页面定位到文件, 我们还需要像是
--edit
这种依赖编辑器程序的功能.
在个人计算机流行前的那些岁月里, Niklas Luhmann 使用了一种基于 编号系统 的权衡方案, 他为这些编号赋予了特定含义, 例如第一个字符总是表示主题的编号, 而第二个字符代表对主题的补充. 例如, 1A
和 1B
在 1
这个分类下是相关的, 但在 A
的层面, 它们又无关.
即, 名字是对内容的概述. 因此一旦你确定了文章的标题, 那也就同时确定了这种风格下的文件名.
如果你是一个从其他 SSG 工具迁移而来的用户, 你博客文章的文件名大概率就是这种方式. 只要你不是有特别严重的强迫症, 用这种方式命名文件并不会占用太多时间.
也不必刻意要求文件名能精确描述文件内容, 结合 编号系统 一起使用会使名字的灵活性更高.