转自:http://www.uisdc.com/slice-rename-in-ui-design(略有修改)

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

不同的团队使用的软件都不一样,如果经常使用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)

功能:bg(背景),btn(按钮底图),icon(图标),img(图片),pho(照片)。

状态:_n:正常(_normal);_s:选中(selected);_p:按下(pressed);_d:不能点击(disabled);_h:点击(highlight)。

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

四、常用英文单词表

1、英文单词缩写原则及常用英文单词缩写列表:

如果所有命名都写为全称,名字就会特别长,所以我们可以将一些常用的英文单词进行缩写,减少工作成本与开发代码资源。切图命名英文缩写三个原则:

1 较短的单词可通过去掉“元音”形成缩写

2 较长的单词可取单词的头几个字母形成缩写

3 此外还有一些约定成俗的英文单词缩写.

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

  • 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(注释)

2、常见界面、控件、功能、状态命名集合:

APP产品经理、APP设计师、APP开发工程师,包括H5前端开发人员都可以记住的文件命名规范。

非常完整的APP元件切图的中英文对照表。

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

五、总结

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

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

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

全方位切图教程:

  1. 切图流程:《纯干货!一款APP从设计稿到切图过程全方位揭秘》
  2. 切图神器:《“没有它我就不会切图!”省时省力的切图神器SLICY下载》
  3. PS切图介绍:《实用小教程:PHOTOSHOP CC智能切图功能介绍》
  4. 切图方法:《超全面的UI设计切图规范指南》

App切图命名规范的更多相关文章

  1. Android UI 切图命名规范、标注规范及单位描述(转载)

    本文转自:https://blog.csdn.net/klxh2009/article/details/74938009 很多UI设计师做APP切图都会有两套,一套是Android的,一套是IOS的. ...

  2. 转发-UI基础教程 – 原生App切图的那些事儿

    UI基础教程 – 原生App切图的那些事儿 转发:http://www.shejidaren.com/app-ui-cut-and-slice.html 移动APP切图是UI设计必须学会的一项技能,切 ...

  3. 原生App切图的那些事儿

    如何切图? 了解iphone界面的尺寸 最小的分辨率是320x480,我们把这个尺寸定为基准界面尺寸(baseline),基准尺寸所用的图标定为1倍图(1x). 在实际设计过程中,为了降低设计成本,一 ...

  4. APP切图标记PS的外挂神器-Assistor PS(转)

    目前APP设计师们对Assistor PS 可是好评连连,说是切图仔的福音或救星.确实是这样的. 与其他切图标记软件不同的是,Assistor PS 是完全独立于 PS 本身的,说是一个外挂更加合适, ...

  5. 学习笔记:APP切图那点事儿–详细介绍android和ios平台

    学习笔记:APP切图那点事儿–详细介绍android和ios平台 转载自:http://www.woofeng.cn/articles/168.html   版权归原作者所有 作者:亚茹有李 原文地址 ...

  6. APP切图那些事儿-Android ios

  7. 切图教程,APP切图实例

  8. UI,切图,命名

    APP切图流程和APP切图命名规范详细完整版 http://www.25xt.com/appdesign/7339.html Marketch

  9. Android屏幕适配与切图_汇总

    首先和最后,还是先看好官方文档:http://developer.android.com/guide/practices/screens_support.html 对应的翻译blog有牛人做了:And ...

随机推荐

  1. 我也说说Emacs吧(3) - 文件基本操作

    Spacemacs文件基本操作 有了前两讲的积累,我们知道了: 1. 我们既要学习emacs的操作,也要学习vi的操作 2. emacs是一个可扩展的平台,我们并不是从头配置,而是使用一套成熟的集成方 ...

  2. Android中的“再按一次返回键退出程序”实现 (转) 按返回键退出程序时进行提醒

    原文地址: https://blog.csdn.net/xichenguan/article/details/47030303 最近在研究   Android  编程方面的东西, 有了以下发现,  该 ...

  3. js之10天内免登陆

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. Learning Scrapy(一)

    学习爬虫有一段时间了,从Python的Urllib.Urlllib2到scrapy,当然,scrapy的性能且效率是最高的,自己之前也看过一些资料,在此学习总结下. Scrapy介绍 关于scrapy ...

  5. PHP 获取中英文混合字符串长度

    通常情况下要想掌握一个字符串变量的长度[一般掌握其字数],自然想到 strlen |--   $str = 'string'; echo strlen($str); //6 .csharpcode, ...

  6. threejs 世界坐标与屏幕坐标相互转换

    屏幕坐标转世界坐标: let pX = (screenPoint.x / this.scene.renderer.domElement.clientWidth) * 2 - 1; let pY = - ...

  7. 如何使用 MSBuild Target(Exec)中的控制台输出

    我曾经写过一篇文章 如何创建一个基于命令行工具的跨平台的 NuGet 工具包,通过编写一个控制台程序来参与编译过程.但是,相比于 基于 Task 的方式,可控制的因素还是太少了. 有没有什么办法能够让 ...

  8. For input string: "null"

    java.lang.NumberFormatException: For input string: "null" 在开发中你是否遇到过这样的问题,不管请求到的值是什么都能进入不为 ...

  9. python selenium 开发环境配置

    selenium是一个web测试应用框架也可以拿来做爬虫. 1.安装selenium模块 pip install -U selenium 2.安装selenium模块后需要有相应的浏览器驱动 A.使用 ...

  10. PEP

    用python ,  PEP难以绕过.  PEP是什么?   Python Enhancement Proposals , 它集合了python的改进提案. 它不是版本递进的, 有些PEP是应该去读一 ...