深圳笨笨切图
写这篇文章也是总结了以前刚接触时候遇到的问题,还有来自其他朋友的提问。关于切图的命名规范给人的第一印象就是全英文,看不懂,让很多人望而却步,当你有所了解之后,你就会发现其实没那么复杂。本文主要为了给想了解命名规范的朋友解解惑。
一、概述
一款产品的落地,必将先经历过需求分析、产品定位、项目拟定、功能分析、原型设计、再到设计稿输出,接下来再到开发,切图、标注是设计与开发需要沟通的步骤之一。
问题1:切图与标注是什么?
切图:APP切图是实现设计效果的重要环节,开发们在实现的过程中需要计算好各个元素的位置,排布,然后再调用我们切好的图进行填充。其存在是为了程序提高产品的开发效率和团队协作。
标注:标注能够帮助其他团队理解设计页面的布局关系、模块大小、颜色与字体规范等等。
问题2:为什么要制定规范?(规范存在的意义)
1、方便修改与迭代
对于项目而言,产品的优化迭代是必要的,除非打算放弃治疗。
有很多人对于文档的命名是这样的:
遇到突发情况,比如你完成了设计后,突然要你改动哪个icon,你要找起来也是相当麻烦。养成良好的命名习惯很重要,比如可以利用版本命名,亦或时间命名都可以更清晰地标明。
2、方便更快捷查找
对于个人而言,psd文件有时候需要修改,整齐规范的psd文档是不是在修改图层的时候更容易找到该图层呢?
(以上来自网络,图层命名没有固定性)
3、方便设计团队沟通
如果设计团队有一套完整的设计规范,那是再好不过。如果没有这样完整设计系统,那么我们就得自己通过沟通制定一套规范,才能让沟通更加高效。建议可以多看看网易、Google、QQ等企业的设计规范进行学习。
4、方便程序开发沟通
曾经与程序沟通过需求,有些程序需要你切好图,标注好,命名好给他们,有些程序只需要你的设计档,他们自行切图标注,所以设计时与开发沟通尤为重要。但是无论如何,规范的命名是最有效的沟通。
二、关于切图命名与标注的那些事
像以前的设计输入都是手动输出,如今有了各种软件与插件,给设计师提供了更高效与快捷的方式去解决切图问题。但是软件只是辅助特性,某些模块的切图利用软件插件并不能切图满足程序所需要的尺寸,这时候还是需要人工来切图。
这里安利下个人工作中使用的应用
标注与切图工具:
PxCook(像素大厨):是一款pc/mac上的软件,个人经常使用,具有与ps衔接的切图,标注也比较方便快捷,还能直接导入psd文档与图片,自动识别当前像素比例判断是什么设备。
Cuttman:是一款运行在ps中的插件,能够自动将你需要的图层进行输出,方便你在pc、ios、Android等端上使用。本人使用过,是比较小也快捷的插件。
Sketch其实在输出资源这一块也挺方便,不过个人工作上用的最多还是Photoshop,喜欢的朋友可以自行研究。
*在设计过程中要注意:旧版设计文件千万别删!这是很重要的point,希望所有设计同胞重视,千万别揣摩你的公司上层、领导还是甲方需求,因为你永远也预料不到他们最终决定会不会就是第一版。(不过这里的前提是,保留还不错的设计,摒弃掉自己都认为不足的部分)
三、命名规范
命名规范并不是唯一的,工作上需要的命名也不相同,但是唯一的目的就是要清晰。以下的命名规则为工作中较为常用的三种规则,为大家罗列出来。
命名规则——命名也就是需要告诉开发,文件是什么、在哪里、第几页、什么状态。
切图命名英文缩写三个原则:
较短的单词可通过去掉“元音”形成缩写
较长的单词可取单词的头几个字母形成缩写
此外还有一些约定成俗的英文单词缩写.
以下三种命名规则供大家参考,具体需求还是要和开发沟通:
1、产品模块_类别_功能_状态.png
例:发现_图标_搜索_点击状态
2、场景_模块_状态.png
例:登录_按钮_默认状态
3、产品模块_场景_二级场景_状态.png
按钮_个人_设置_默认状态
名词解析:
【场景和二级场景】:一般指app的一级页面与二级页面。
例如上:个人页-场景,个人页里的设置页-二级场景
【模块】:一般指页面中的部分区块,也有指背景图。如背景、按钮、icon都是模块。
【功能】:一般指的是,页面或者模块中,需要操作或点击的某个点,如上图,发现页中的搜索icon。
【状态】:一般指当前切图的状态区分,像按钮的话,有默认状态、点击时状态、按下状态、不可点击状态等,网页上按钮还有悬停状态。
注意:所有命名只能为小写英文字母,不要为了好看或者像平时打英语一样,首字母是大写之类的,也不可以为中文,不然对于开发来说,是没有意义的,因为他们还是得自己再改一遍。
注意:ios切图需要在命名后加上@2x、@3x后缀名,安卓的切图不需要加,不过有些安卓开发需要切图后缀加上尺寸。
四、基本命名规范一览
名词命名:
bg(backgrond): 背景
nav(navbar):导航栏
tab(tabbar):标签栏
btn(button):按钮
img(image):图片
del(delete):删除
msg(message):信息
icon:图标
left/center/right:左/中/右
logo:标识
login:登录
register:注册
refresh:刷新
link:链接
user:用户
note:注释
bar:进度条
profile:个人资料
ranked:排名
ERROR:错误
操作命名:
close:关闭
back:返回
edit:编辑
download:下载
collect:收藏
comment:评论
play:播放
pause:暂停
pop:弹出
audio:音频
video:视频
状态命名:
selected:选中
disabled:无法点击
highlight:点击时
default:默认
normal:一般
pressed:按下
slide:滑动
五、题外话-Android编码规范建议18条
分享来自网络知识。 适合手机APP设计师和android 工程师阅读。
局部变量命名、静态成员变量命名 只能包含字母,单词首字母除第一个外,都为大写,其他字母都为小写
常量命名 只能包含字母和_,字母全部大写,单词之间用_隔开
图片尽量分拆成多个可重用的图片
服务端可以实现的,就不要放在客户端
引用第三方库要慎重,避免应用大容量的第三方库,导致客户端包非常大
处理应用全局异常和错误,将错误以邮件的形式发送给服务端
图片的处理
使用静态变量方式实现界面间共享要慎重
Log(系统名称模块名称接口名称,详细描述)
单元测试(逻辑测试、界面测试)
不要重用父类的handler,对应一个类的handler也不应该让其子类用到,否则会导致message.what冲突
activity中在一个View.OnClickListener中处理所有的逻辑
strings.xml中使用%1$s实现字符串的通配
如果多个Activity中包含共同的UI处理,那么可以提炼一个CommonActivity,把通用部分叫由它来处理,其他activity只要继承它即可
使用button+activitgroup实现tab效果时,使用Button.setSelected(true),确保按钮处于选择状态,并使activitygroup的当前activity与该button对应
如果所开发的为通用组件,为避免冲突,将drawable/layout/menu/values目录下的文件名增加前缀 18.数据一定要效验,例如:字符型转数字型,如果转换失败一定要有缺省值; 服务端响应数据是否有效判断
总结
以上是总结了切图的命名规范与标注,之后再详谈切图规范。
其实管理文件也是门学问,它能让你省下没必要耗费的时间与精力。沟通也是能够帮助你更好地与团队,不同部门更高效地推进项目的开展。
每个公司都有自己的命名和输出模式的,以上是和大家交流下自己工作中的方法和心得,希望对于大家有所帮助。如果觉得以上有什么补充的,欢迎大家留言告知,不胜感激。
相关阅读
文章对分期乐App进行简单的探索,通过产品功能的体验分析中,总结提炼关于提升乐黑卡功能渗透率的几点思考。希望能够给你带来启发。
匈牙利命名法许多 Windows 程序员都使用“匈牙利标记法”作为变量命名约定。这是为了纪念具有传奇色彩的微软程序员 Charles Simo
词性标注(Part-of-Speech Tagging, POS)、命名实体识别(Name Entity Recognition,NER)和依存句法分析(Dependency Parsing)是自然语言处
网络口碑打造是指企业在建立品牌的过程中,将口碑与网络结合起来的一种网络宣传模式。传统的口碑打造,企业通常需要花费大量的精力与
人在喝完可乐一小时内会有什么反应?高速发展的中国互联网在一分钟内会发生些什么事情?美国大选,川普和希拉里的支持率到底有多大差距