我的文件命名方法

梳理下自己几年来形成的文件命名方法。不想表现太多指导性,所以下文会以展示为主,也会穿插一些解释和个人见解。

无论方法如何,文件命名的原则应是一致性和描述性。一致性保证了文件组织的井然有序,同时反应出文件管理者的组织方法;描述性让文件自我解释,让文件使用者无需打开文件就能大致了解文件内容。

形成自己的文件命名方法后,使用 Spotlight 搜索定位文件会变得非常容易。

命名信息

罗列下我会在文件命名中包含的信息:

  • 编号
  • 项目名称
  • 平台名称
  • 对象名称
  • 状态名称
  • 方案序号
  • 版本序号

其中,只有对象名称是必包含项。

如果文件数量不多,编号不是必须的;如果只有一个项目在跟进,项目名称不是必须的;如果没有多种状态,状态名称不是必须的;如果项目只部署在一个平台,平台名称不是必须的;如果没有多种方案,方案序号不是必须的;如果没有多个版本,版本序号不是必须的。

示例:

  • 最简单情况:contact.psd
  • 最复杂情况:3a-sn-mobile-contact-loading-a0.psd

语言

使用英文命名有两点尴尬:在交接文件的时候,被交接方可能会出现不适(老外有时也可能不懂你的英文文法);如果项目语言是中文,英文命名在很多情况下是不能直接与页面中的中文标题直接对应的。我的意思是,当看到某个英文命名的文件时,脑子总要先转一下,思考这个页面的中文名称是什么,毕竟我的母语是中文。而这似乎有些违背了描述性原则。

使用中文命名看似没有问题,但根据工作经验来看,大家在工作中普遍用词随意,“产品”还是“商品”、“后端”还是“后台”、“首页”还是“主页”……诸如此类的模糊用词习惯如果被继承到了文件命名中,想必是十分可怕的。另外,如果涉及到界面元素的素材导出工作,习惯上这些需要包含在项目内的设计文件总是要用英文命名的,例如:button-bg-hover.png。如果仍坚持用中文命名,只会徒增开发人员的工作量。更不要提中文命名可能会导致的兼容性问题了。

我的做法是,使用英文命名。

大小写

大小写规则可以根据个人喜好决定。

首字母大写是看上去比较规范的做法,但大写字母的输入没有小写字母来得方便,而且如果文件命名比较长的话,命名看起来像是一句句子。

我的做法是,全部使用小写字母。

连接符号

常见的连接符号有三种:空格( )、连词符(-)、下划线(_)。

空格虽然符合自然文本的显示,输入也极为方便,但存在可能的兼容性问题,所以不被推荐。选择使用连词符还是下划线可以根据个人喜好决定。连词符比下划线更方便输入,但有些人会觉得连词符的可读性不如下划线。

我的做法是,使用连词符(-)。

编号

编号位于命名的最前端,使用阿拉伯数字,从 0 开始编号。当按文件名升序排列时,编号能使文件排序整齐,并体现一定的逻辑顺序。当某几个文件指向的是某个设计的不同状态时,可在阿拉伯数字后直接加上小写英文字母,作为二级编号。

示例:3-contact.psd,0a-home-sign-in.psd,0b-home-log-out.psd。

方案序号和版本序号

方案序号和版本序号位于命名的最末端。方案序号使用小写英文字母,从 a 开始编号;版本序号使用阿拉伯数字,从 0 开始编号。

示例:home-a0.psd, home-b1.psd。