APP切图命名规范:介绍一种通用的命名规则

13 评论 78619 浏览 225 收藏 7 分钟

今天菜心要分享的内容是关于切图命名的规范,由于最近正在总结这一部分内容,所以拿出来和大家一起分享探讨一下。

关于切图命名的规范,我个人觉得关键是在于团队能够有一个统一的规则,所有成员严格遵守并且和所有开发全盘拉通,不然一切都是空谈。

因为不同的团队使用的软件都不一样,如果经常使用sketch软件中symbols的同学,可能在命名的时候会考虑更多内容,但是照顾到还有很多同学在使用 ps 作图,所以这里只介绍一种通用的命名规则,当然大家也可以根据自己的实际情况去制定,这里只提供一种方法与思路,仅供参考。

一、为什么要制定规范的命名规则

1. 自身层面

对我们自己的文件整理有很大的帮助,后期修改文件、图层的时候更加方便快捷,而且规范的命名也显得我们自身比较专业。

2. 团队层面

如果命名不统一,大家就很难达成共识,任务交接时需要很大的学习成本,所以规范的命名对于团队协同也有极大的推动作用。

3. 开发层面

这一点是最重要的,可以极大的节省程序开发的时间成本,减少很多不必要的沟通与重复切图的概率。因为只要我们的命名足够规范,并且和开发达成共识,他们完全可以直接使用的我们切片而不更改切片的名称,后期我们更换切图,只要切片名称不变,开发看都不用看直接替换就可以了。

二、所有命名全部为小写英文字母

这一点的理由很简单,我们的目标是让开发直接拿我们的切图进行使用,不能够随意修改名称,但是我们要知道,开发哥哥的代码里只有小写的英文字母,如果你给出的命名全是中文的,那么他们是一定会更改的。所以命名全部用小写的英文字母是最基本的规则。

三、命名格式

众所周知,一个大型项目会分很多模块,每个模块由不同的设计师来独立完成,还有人会专门管理公共的组件,如tabbar、navbar等等,这种情况下就会分为两种切图,一种是通用类型的切图,还有一种就是各个模块特有的切图。

通用切片命名格式

组件_类别_功能_状态@2x.png

举例:tabbar_icon_home_default@2x.png

(对应中文:标签栏_图标_主页_默认@2x.png)

模块特有切图命名规则

模块_类别_功能_状态@2x.png

举例:mail_icon_search_pressed@2x.png

(对应的中文为:邮件_图标_搜索_ 默认@2x.png)

当然这两个例子都是比较基本的情况,有很多时候可能一个单词并不能清楚的描述功能,比如有两个名字相同的搜索图标,大小不一,那这种情况你就可以这样命名:mail_icon_search_big_default@2x.png,我们的原则就是清晰的表达出切片的具体内容并且没有重复的名称,希望大家能够活学活用。

大家要注意,命名中不能含有空格!

四、常用英文单词表

如果所有命名都写为全称,名字就会特别长,所以我们可以将一些常用的英文单词进行缩写,减少工作成本与开发代码资源。至于怎么缩写,只要整个团队能够达成共识并且输出一份缩写清单,任何缩写规则都是可以的。

下面提供一些命名时常用的英文单词列表(有些是已经缩写过的,仅供参考)

  • bg(backgrond 背景)
  • nav(navbar 导航栏)
  • tab(tabbar 标签栏)
  • btn(button 按钮)
  • img(image 图片)
  • del(delete 删除)
  • msg(message 提示信息)
  • pop(pop up 弹出)
  • icon(图标)
  • selected(选中)
  • disabled(不可点击)
  • default(默认)
  • pressed(按下)
  • back(返回)
  • edit(编辑)
  • content(内容)
  • left/center/right(左/中/右)
  • logo(标识)
  • login(登录)
  • refresh(刷新)
  • banner(广告)
  • link(链接)
  • user(用户)
  • download(下载)
  • note(注释)

有些人会觉得写这么多英文太麻烦,但其实为了自己专业能力的提高,这种规范的命名方式是必须要经历的过程,当你习惯了这样的命名方式后,你的成就感会油然而生。

五、总结

今天要分享的内容就这么多,最后还是想和大家说,有什么不懂得地方,真的要多去咨询开发的同事,去思考问题的本质原因是什么,每一个小问题都需要我们去透彻的理解,反之积攒多了,最后吃亏的还是你自己。

任何别人给出的规范,都不要直接拿来就用,要去思考为什么用这样的规范,解决什么样的问题?你有没有更好的解决方案?试问一下,苹果和安卓开发的切图文件管理机制是怎样的?有什么区别?如果这么基础的问题你都不知道,而是拿着别人的规范直接套用,那结果就是被别人牵着走。

所以去了解所有表层背后的思考与逻辑,也许下一个规范就是你制定的!

 

作者:菜心(微信公众号:菜心设计铺),华为ITUX用户体验设计师(主视觉)

本文由 @菜心 原创发布于人人都是产品经理。未经许可,禁止转载。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 总结的真好,即使是两年前制定的现在也觉得很规范又明了。但是 background 好像写错了哟 🙄

    来自浙江 回复
  2. 这种命名在sketch中OK,但是不知道菜心用不用principle,在principle里面做动效,同一个按钮的不同状态为了创建补间是需要命相同的名字的。之前我也是用文中的这种命名方法,结果一导入到principle里面我就崩溃了,图层乱飞,后来还是全部重新命名

    来自广东 回复
  3. pressed是默认状态吗??

    来自香港 回复
  4. 模块_类别_功能_状态@2x.png , almost a coder ,orz

    来自广东 回复
  5. 👿

    来自广东 回复
  6. 瞎扯、、、要么prototype里注释清楚,要么开发自己能找到就行了,复杂化反而减低团队效率

    来自广东 回复
    1. 不知道阁下在哪个大团队就职,是腾讯还是阿狸?这种命名格式至少解决了我们目前团队协作出错的问题。我也说过了,问题的关键是在全局拉通。至于每个团队各自也许会有不同的习惯与制度,分情况而定。
      如果您是一个人的团队,其实不命名都是可以的。

      回复
    2. 支持菜心,我是菜花

      来自上海 回复
    3. 2019了 这个命名规范现在还在用

      来自广东 回复
  7. 我们的做法是,视觉第一次切好图放共享上,如果开发觉得有必要就修改名字,没必要就不修改名字,视觉后期重新切图时,一律以开发在共享上确认的名字为准。

    来自广东 回复
    1. 恩,这种做法是非常棒的,我们是各个模块的设计师放在svn上面共享,审核资源通过后,才会发给开发,但是暂时没有和开发共享的机制。

      来自广东 回复
  8. 平时我们进行开发的时候,是自己切图,所以全部都是全拼或者是缩写,但是没有这么细致,所以更改图片的时候,相对来说有点麻烦了,看到你的这篇分享,还是有所帮助的,多谢

    来自上海 回复
    1. 谢谢支持

      回复