Skip to content

规范性 条理命名

仲灏2022-06-26约 1 分钟

<div style="display: none;" hidden="true" aria-hidden="true" data-nosnippet>Are you an LLM? You can read better optimized documentation at /pages/294ba9.md for this page in Markdown format</div>

一个良好的文件名,除了方便检索外,还让人看着舒服,赏心又悦目。

当用不到的时候,文件命名是小事,但当你因为不恰当的命名导致找不到文件而焦头烂额时,它就不再是小事。

在实际生活中,每次给需要存档的文件起名、整理时,我都要对所起的文件名思考

以下方案就用科学性,原理性的来解决起名头疼问题

如:迪士尼公司的影片文件

image.png

文件名:[TOY-STORY-3_ FTR-1-3D_ F_EN-XX_ US-G_ 71_2K_DL 20100510_ PX_ i3D_ OV]

TOY-STORY-3_		《玩具总动员3》
FTR-1-3D_				正版本13D
F_EN-XX_				遮幅宽银幕
US-G						英语音轨无字幕
71							7.1声道
2K_							2K
DI							迪士尼出品
20100510_				2010年5月10日
PX_							皮克斯打包
13D							不需要去鬼影
OV							原始版本文件

image.png

首先计算机磁盘文件系统及其命名支持:

FAT

档案配置表(英语:File Allocation Table首字母缩略字FAT),是一种由微软发明并拥有部分专利[2]文件系统,供MS-DOS使用,也是所有非NT核心的Windows系统使用的档案系统。

NTFS

NTFS(英语:New Technology File System),是Microsoft公司开发的专用文件系统,从Windows NT 3.1开始成为Windows NT家族的默认文件系统。[4]

HFS

分层文件系统Hierarchical File SystemHFS)是一种由苹果电脑开发,并使用在Mac OS上的文件系统。最初被设计用于软盘硬盘,同时也可以在在只读媒体如CD-ROM上见到。

APFS

苹果文件系统(英语:Apple File System,简称APFS)是一个适用于macOSiOStvOSwatchOS的文件系统,目前正在由苹果公司开发和部署。[需求规格说明书 V2.0][2][3]它的目的是解决HFS+(Mac OS Extend,APFS的前身)文件系统的核心问题。[4]APFS针对闪存固态存储设备进行优化,具有写入时复制等设计特点,使用I/O合并改进性能。[5][6]

ext

延伸档案系统(英语:Extended file system,缩写为 ext或 ext1),也译为扩展文件系统,一种档案系统,于1992年4月发表,是为linux核心所做的第一个档案系统。最早由Rémy Card所创作,采用Unix文件系统(UFS)的元数据结构,以克服MINIX档案系统效能不佳的问题。它是在linux上,第一个利用虚拟档案系统实作出的档案系统,在linux核心0.96c版中首次加入支援,最大可支援2GB的档案系统。

其他

......

命名支持

对主流的几个文件系统做整理

文件系统应用平台规范建议
FATWindows不能包含:< > / \ | : * ?
NTFSWindows不能包含:< > / \ | : * ? 不能超过255个字符
APFSMAC所有的字符都可以不要包含 : ? @ # $&()|; ‘’“”<>等字符,另外 空格符,制表符和退格符也不建议使用
xfsCentOS除了/外,所有的字符都可以不要包含 : ? @ # $&()|; ‘’“”<>等字符,另外 空格符,制表符和退格符也不建议使用

windows 命名约定

以下基本规则使应用程序能够创建和处理文件和目录的有效名称,而不考虑文件系统:

  • 请勿对文件的名称使用以下保留名称:

    CON、PRN、AUX、NUL、COM1、COM2、COM3、COM4、COM5、COM6、COM7、COM8、COM9、LPT1、LPT2、LPT3、LPT4、LPT5、LPT6、LPT7、LPT8 和 LPT9。 此外,请避免这些名称紧跟扩展;例如,不建议NUL.txt。 有关详细信息,请参阅命名空间

  • 不要使用空格或句点结束文件或目录名称。 尽管基础文件系统可能支持此类名称,但Windows shell 和用户界面不支持。 但是,可以接受将句点指定为名称的第一个字符。 例如,“.temp”。

  • 将当前代码页中的任何字符用于名称,包括扩展字符集中的 Unicode 字符和字符, (128-255) ,但以下除外:

    • 以下保留字符:
      • <(小于)
      • >(大于)
      • : (冒号)
      • "(双引号)
      • /(正斜杠)
      • \(反斜杠)
      • | (垂直条或管道)
      • ? (问号)
      • *(星号)

image-20220626115028923

总结

严格:

_ . - 数字、英文字母

宽松:! @ # $ % 空格 中文

文件开头不要以特殊符号开头

总结一套严格的规范命名:

前缀				// 名称排序作用 10_ 20_ 做到序号中间有一定的间隔 后续更方便的插入条目更新位置
时间				// YYYYMMDD-HHmmss 精确度可以按情况来 年月日 和 时分秒 用-隔开 更易阅读
文件名				// 文件名称 用英文字母 可以用拼音代替
版本				// v1.1.1 	v1.20.101
人物				// 人名、组织名都行
标签				// 补充信息 地点 文件性质
备注				// 注意事项 特别说明等

通用
	种类
	大小
	位置
	创建时间
	修改时间
	
更多信息
	来源
  • 文件
时间				// YYYYMMDD-HHmmss 精确度可以按情况来 年月日 和 时分秒 用-隔开 更易阅读
标题				// 使用缩写 不要使用中文


eg:
20220626_applet.vote-prod.poster_zhonghao.zip
日期:20220626
标题:applet.vote-prod.poster
标题缩写释义:
	applet.vote:软件类型 软件名称 // 小程序
	prod.poster: 功能模块 具体功能 // 作品模块下海报功能
	zhonghao:		操作人						// zhonghao


20210321__ITO.5HT-Lab1-U1__HJ

    日期:20210321,2021年03月21日
    标题:ITO.5HT-Lab1
    标题缩写释义:
        ITO.5HT:实验项目为修饰 ITO 电极,用于测量 5HT
        Lab1:测试地点,实验室1
        U1:Unit 1,即第一台设备
    研究人员:HJ


202127__Samp11-OxPPy-7.0PBS0.1-KCl0.1-CV8-M0.4-P1.8-S0.1__Good.elc

    测试时间:202127,20:21:27
    标题:Samp11-OxPPy-7.0PBS0.1-KCl0.1-CV8-M0.4-P1.8-S0.1
    标题缩写释义:
        Samp11:Sample 11,即样品序号11
        OxPPY:所作的操作为氧化 PPY
        7.0PBS0.1:溶液环境为 PH7.0 的 PBS 缓冲液,浓度为 0.1M
        KCl0.1:溶液中还有 0.1M 的 KCl
        CV8:仪器参数为循环伏安法(cyclic voltammetry),循环8次
        M0.4:扫描下限 -0.4V (M 表示 Minus)
        P1.8:扫描上限 1.8V (P 表示 Positive)
        S0.1:速度 0.1V/s (S 表示 Speed)
    标签:Good
  • 目录 分类 大集合 命名
前缀				// 名称排序作用 10_ 20_ 做到序号中间有一定的间隔 后续更方便的插入条目更新位置
名称				// 

eg:
10.Matter
20.Work
20.Live
30.Person
40.Study

大前端 标题缩写释义

webSpa
web
h5

weapp										// 微信小程序
weOfficialAccounts			// 微信公众号

mixApp 									// 混合开发app

androidApp							// 安卓软件
iosApp									// 苹果软件
desktop									// 桌面应用

node

todo。。。

参考:

<iframe src="//player.bilibili.com/player.html?aid=896293922&bvid=BV1yA4y1U77y&cid=713254942&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>