整体思想:
(1)机器可读
(2)人可读
(3)排序与默认排序类似
部分原则:
(1)名字不带空格
(2)最好不大小写敏感,所有文件都转换成大写或者小写后,不能有重名文件;
(3)连字符采用统一标准,例如,下划线(_)表示part,而中短横线(-)表明这是一个part,例如多个单词的名字;
Tips for naming:
思考你的文件,想想你的文件是关于什么的?
- 你的文件命名可以涵盖哪些文件组(group);
- 对于不同的文件集可以使用不用的命名规格
- 检查你的研究组和研究学科里中已经建立的命名规则
例如,建立一个可以描述所有显微图片的命名规范,包含了原始图片和加工后的图片。
检查metadata,例如时间、样本、实验,思考如何简单快速的定位特定文件需要什么信息
电脑根据文件名进行排序(字母顺序),因此,最重要的信息要放到最前面,例如,你预计你要根据日期找文件,则把日期写在最前面
- 文件名应该具有描述性并且提供足够的内容信息。
例如,可以将下面的信息结合起来:
实验条件
数据类型
研究者
实验室名字
项目名字 - 实验室日期或者范围(range),例如使用YYYYMMDD,这样可以使得文件具有编年史顺序。未来加入时间戳,可以使用YYYYMMDDThhmm,即通过T进行时间隔断。
- 实验号或者样品号
对于连续编号系统,使用前导的0作为起始,来确保清晰和保证文件处于正确的序列。应该使用"001, 002, ...010, 011 ... 100, 101 ..." 而不是 "1, 2, ...10, 11 ... 100, 101 ..."
简写或者metadata编码
不要忘记文件编码格式!
决定哪些短短信息被保留
标准化类别和/或用2或3个字母的代码替换它们
确保记录这些编码信息
例子:
Project id使用2个字符,p1,p2
物种id用三个字符,mouse=MUS, fruit fly=DRS
样本id用三个字符;
使用版本号
你是否需要维持对于同一文件维持不同版本号
使用版本管理来表明文件的最新版本
通过在文件名的末尾添加版本信息来跟踪文件的版本,例如:文件名_v2.xxx
使用版本号(例如:"v01 "或 "v02")。
使用版本日期(使用ISO 8601格式:YYYMMDD或YYY-MM-DD)。
思考你如何搜索你的文件
对于metadata和文件的排序,思考你想如何排序和搜索你的文件;
决定metadata如何出现在开始
使用默认的排序:字母 数字 日期
使用ISO 8601-formatted dates (YYYYMMDD or YYYY-MM-DD)
分隔metadata数据
文件名中避免使用空格和特殊字符,因为很多电脑系统并不能很好的处理带有空格的文件名,所以不要使用空格!
• 使用 dashes (-), underscores (_),或者每个单词的首字母大写
• Dashes: file-name.xxx
• Underscores: file_name.xxx
• No separation: filename.xxx(介词一般不大写,例如in of)
• 使用驼峰标记 (每个部分的首字母大写): FileName.xxx
• 避免使用特殊字符,例如: ~ ! @ # $ % ^ & * ( ) ` ; : < > ? . , [ ] { } ' " |
写下你的命名规则
同时,也应在最顶层写一个README文件来描述你的文件结构;
• 如果文件被移动了或者被分享了,使用者应该能通过文件名识别该文件;
• 文件名应该只使用字母,短横线,下划线,一般少于50字符
• 如果你发现文件名中编码了大量metadata,那么你应该考虑将这些元数据与你的数据一起存储在主表格中,以便将来参考。
例如:我的文件命名格式为
[SA-MPL-EID][YYYYMMDD][###]_[status].[tif]
参考:
https://datamanagement.hms.harvard.edu/collect/file-naming-conventions