公约
设计师给开发者提供的资源的命名应该是清晰、准确、分门别类的,以最大程度地让开发者更高效的使用资源。因此,此公约应作为约束,统一各个端的开发者与设计师的资源名使用,尽量不让开发者对资源进行二次命名修改。
范围
- Web 前端资源的文件名
- Android 资源的文件名
- iOS 资源的文件名
- Sketch 图层命名
Sketch 的图层命名
在使用类似 Sketch 等工具进行设计时,图层名称请使用本公约的相关规范进行命名,## 文件与图层名规范请保持一致,以便更方便地导出资源。在 Sketch 中,不需要导出的 Symbol 可以使用「/」来分隔以分组。需要导出的资源务必使用下方提供的命名方式。
使用全称
我们在命名中应该尽量不要使用简称。减少语义上的偏差,例如有的人习惯称 icon 为 icn,而有些则习惯使用 ico,为了减低大家的沟通成本,应最大程度避免使用 button -> btn,background -> bg。
使用连字符 (-)
命名时使用 (-) 作为资源名区块连接符号。(-) 符号较容易被辨识,并且通常比其他连接符号更加节约空间。
使用小写英文
所有资源的命名都应该使用小写的英文命名,尤其是在资源上传至服务器后,如果使用有大写字母的文件名,将会导致维护成本的增加。统一地使用小写,将降低后期维护的成本。注意,请不要使用任何拼音。
格式
常规的资源文件类型有:.jpg / .png / .svg / .gif / .tif / .pdf / .md / .ico / .ttf / .wof / .otf
导出素材命名规范
Web:
[type]-[location]-[usage]-[annotation*repeatable]-[state].png
[类型]-[位置]-[用途]-[备注*可重复]-[状态].png
icon-sidebar-navigation-link-normal.png
iOS:
[type]-[location]-[usage]-[annotation*repeatable]-[state]@[resolution].png
[类型]-[位置]-[用途]-[状态]-[备注*可重复]@[分辨率].png
icon-sidebar-navigation-link-normal@2x.png
Android:
[drawable目录]/[type]-[location]-[usage]-[annotation*repeatable]-[state].png
[类型]-[位置]-[用途]-[状态]-[备注*可重复].png
drawable-hdpi/icon-sidebar-navigation-link-normal.png
SKETCH图层:
icon-sidebar-navigation-link-normal@2x
[type](必填)
当前资源的类型,例如 icon、button、image、avatar。
[location]
当前资源使用到的位置,如特定只能用在底部的按钮:button-footer.png
[usage]
当前资源用途,如作为链接使用的图标:icon-link.png
[annotation]
当前资源的备注,此项可重复,如果遇到描述不清楚或不足够的状态,可以添加单个或 多个 备注,如:icon-link-grey.png 、avatar-link-middle.png 或是 button-frame-gray-small.png。
[state]
当前资源的状态。如: button-icon-danger-normal.png
[resolution]
如果表示资源大、中、小三个大小。请在[annotation]中描述,这里仅在 iOS 和 Sketch 图层中使用。
名词处理
当 [location] 或是 [usage] 等非备注内容所使用的名词非单个单词为短语时。允许使用## 「_」进行分隔。如:
Web:
[type]-[location_words]-[usage_words]-[annotation*repeatable]-[state].png
[类型]-[位置]-[用途]-[备注*可重复]-[状态].png
icon-official_website-navigation_bar-link-normal.png
网友评论