童话说说技术创业美文职业
投稿投诉
职业母婴
职场个人
历史治疗
笔记技能
美文纠纷
幽默家庭
范文作文
乐趣解密
创业案例
社会工作
新闻家居
心理安全
技术八卦
仲裁思考
生活时事
运势奇闻
说说企业
魅力社交
安好健康
传统笑话
童话初中
男女饮食
周易阅读
爱好两性

如何让开发明白,空0?

6月14日 孤行者投稿
  “空”和“0”在赋值上有完全不同的适用范围,在一开始,产品端应该格外注意字段的限制,能够提高产品开发效率。
  作为一个产品经理,从来不会把“空”等同于“0”来看待,在写原型的时候也不会特意强调,这是“空”,不是“0”。
  两个毫不相关的东西,为什么要去解释一遍无关性呢?就好比人和狗,为什么要去说明人不是狗,狗不是人?
  直到产品验收时,看到了那些0
  让产品抓狂的0
  案例1:月经生育史
  先来看个月经史、生育史的例子。
  医生还未写病历,这些“0”就已经默认写上了,这也就罢了,一个个删除,然后保存;回头一看,“0”全都出来了。
  一下子崩溃了,问开发:初潮0岁,你见过生下来就来大姨妈的吗?月经周期0天,你见过365天,天天来大姨妈的吗?
  开发小哥很委屈:我又不懂这些是什么意思。
  想想这好像也不能怪他们,毕竟还是单身。
  案例2:预约次数限制
  这是微信预约的限制,用来限制每个微信id一天可预约的次数。
  当我打开设置时,发现默认值就是0,删了保存还是0。这应该有常识了吧,问开发:所有人都不能预约,那预约功能的意义在哪?我要的是“空”,不是“0”。
  开发小哥哥又委屈了:数据库又不能存空,空就是0啊。
  也确实是难为他们了,一方说我要空,一方又不让为空。
  案例3:积分规则设置
  做过电商的朋友对积分都不陌生,消费后赠送积分,再次消费时抵扣积分。
  当我打开页面设置时,也是满眼的0。问开发:都是0,设置和不设置有什么区别?这功能都没有用。
  这回开发小哥哥有理了:既然“空”和“0”没影响业务,显示着也没问题啊。
  好像挺有道理,怎么就隐隐透着些傻气呢。
  开发怎么看“空”
  产品经理眼里的“空”,怎么就成了开发眼里的“0”了呢?但是,也不是所有的空,都显示成了“0”啊,比如填写联系人和联系电话的地方,都没有显示0。
  为此,我去采访了一下开发小哥哥,发现了其中的原因。
  每一个字段都是有一个类型的,常用的是:
  字符型数据:包括中文字符、英文字符、数字字符和其他ASC字符。就像上面的联系人就是这种文本类型,可以输入中文姓名。数据库默认值就是空字符串,即“”。
  数值型数据:只可由数字、小数点、正负号和表示乘幂的字母E组成,不能输入中英文字符。就像上面的经期就是这种数值类型。数据库不能存空,必须存入一个确定的值,故开发常常把空存成0。
  既然字符型数据能支持数字,为什么不都存成字符型数据呢?不就没有0的那个问题了吗?
  从开发角度来说,原因有好多,说个我们比较关注的:字符类型往往比数字类型占用更多的存储,而更多的存储空间消耗会导致查询性能变慢,就是系统很卡。
  为了使有限的存储空间发挥最大的能效,我们有必要把字符类型和数值类型分开,那怎么做才能让开发不直接把空当0呢?
  让开发分清空和0的法则
  明确数据类型
  产品经理是最熟悉业务的,每个字段可能填写什么内容,都会有一个深入的理解。那在写原型的时候,就需要针对每个字段可填写内容的类型做个明确的标识,哪些是文本,哪些是数值。
  比如说上面的字段:
  这样至少能保证文本类型的地方不会出现0,下面重点关注数值类型就可以了。
  明确数值范围
  我们会发现,有的地方空0是没有问题的,比如说初潮,因为0不在数据范围内,数据库存了0前端不显示出来就可以了,不会引起误解。
  但有的地方空0就会发生错误,比如说生育史里面的足月产,意思是足月生育了几个孩子,那填写0是完全合理的;如果空就是0,那填了0也会被认为是空。
  我们可以给每个数值一个范围,这样开发在赋值的时候,就知道哪些值不能用了。
  比如上面的字段:
  明确空的定义
  空其实是有很大的想象空间的,有时候代表无限大。比如说预约次数的显示,不填就是不限制预约次数,任意次都可以。
  有时候代表未知。比如说足月产,你没法知道这个人到底生了几个孩子,不能随便给一个值。数据库需要给这个未知赋一个值,但肯定不能是0了。这空值也不能保存进去,在其他相关的地方显示出来。
  有时候就代表0。就像积分累积规则,0就代表没有积分活动。
  空具体的值不需要我们定义,但我们需要告诉开发这个空值的含义是什么。
  比如说上面的字段:
  可以和开发约定一个整体的规则,“空”999999,999999是系统里面肯定不会出现的正常业务数据,用这个代替不会出现像0那样的异议。
  当然,一些特殊的字段,还需要单独去处理,比如说预约次数限制,最大值就是999,空只能代表最大的999。
  明确空回显内容
  最后要和开发强调一点:不管哪个功能下的“空”,不管“空”的含义是什么,也不管给“空”赋了什么值;既然是空,页面上千万别回显出内容来,千万不要随处可见的“0”。
  我们要的就是空!
  总结
  空和0的问题,是产品很容易忽视的问题,却是很容易和开发引起争执的问题。
  我们在写需求文档的时候,需要格外注意数值型字段的取值范围和空值含义。提前告知开发,就能避免很多数据错误的情况,提高产品开发质量。
投诉 评论 转载

设计沉思录58部落品牌视觉升级本文从五个部分去讲解了58部落的一个品牌视觉升级,一起来看看一、品牌分析58同城APP作为优质的信息类生活服务平台,服务各行各业,搭建信息的桥梁,已经成为人们日常生……如何让开发明白,空0?“空”和“0”在赋值上有完全不同的适用范围,在一开始,产品端应该格外注意字段的限制,能够提高产品开发效率。作为一个产品经理,从来不会把“空”等同于“0”来看待,在写原型的……详解AI硬件产品开发流程本文对AI硬件产品开发中各阶段的资源配置展开了资源配置分析、并简单介绍了项目管理到底在做什么。项目流程详解,针对上一篇《项目管理:智能硬件项目研发流程》的细化,解释任务串……聊聊产品的4种温度温度来自用户对产品的感知,产品经理要做有温度的产品。你有没有感受过一个产品的温度?产品是有温度的,就好像我们用久了不舍得扔的旧物。草长莺飞二月天,梅兰竹菊四君……身为设计达人,你需要知道这个技巧情感设计是很多产品成功的秘诀,它可以使得一些产品和其他产品有差异性。设计师可以借助情绪板,帮助提供一些设计方向和指引。本文作者结合自身经验,对制作情绪板的方法和工具进行了总结,……易用性体验:来自迪士尼世界的5个UX经验迪士尼世界作为世界最著名的主题乐园,在用户体验的打造上绝对是颇具心思。本文作者根据自己的亲身体验,阐述了从迪士尼世界学到的经验,如何更好地为用户打造良好的体验环境。首先要……如何设计B端SDK和API的激活与安全机制?在C端流量红利逐渐消失的今天,很多企业开始转向toB的生意。而B端的生意就离不开SDK和API。这是公司对外输出技术方案必不可少的两种不同的形式。因此,本文将结合S……京东物流设计总监:从产品范式的转向到体验设计的升维体验设计的升维,是把感性的、经验性的决策,转化为有效的科学决策和数据决策。不要做设计的“拙”,而要让设计有正确的方向,要做到设计的“巧”。只有强有力的逻辑和研究,才可以以最少的……图文设计中那些值得学习的套路本文介绍了图文设计的集中类型、用户的阅读顺序以及影响设计的几点要素。网上有很多关于图文结合设计的讨论,各大产品的用法也不尽相同,但又符合各自产品的定位。在产品模块中只要有……用户触点联结产品与用户本文从宏观角度出发,讲述了用户触点是什么、以及它的来源、属性与管理。前言本文是在做电商商家后台模块之一的店铺装修时的思考,既然是在装修店铺,那么所建造的东西就是要触……用一些小套路,让用户离不开你的产品“死缠烂打”的360,其中可是蕴含产品经理的深思熟虑。运用一些“套路”,将用户紧紧和产品联系在一起。从2006年首发到今天,360安全卫士已经经历了十多个年头。在十多年的……如何建立具有成长性的会员激励体系?本文按照选择会员策略、确立会员价值,设计成长性考核标准的顺序讨论如何建立优质会员激励体系,并以以视频app为例陈述注重会员等级培养的成长模型。一、选择会员策略会员策……
最佳比例的秘密!教你如何在设计中充分运用黄金比例Inlineediting可以怎么玩新技能Get婚恋产品基于KanseiEngineering的为儿童设计网页产品设计:需求和原型中间隔着一堵墙设计与消费,生活抉择的考量瓦萨号沉船与你的App很配做好发现页面应把握好的3种页面类型微信下拉拍视频被回滚,又一颗“彩蛋”陨落了APP数据图表设计的类型和制作方法全方位总结干货!由浅入深科普最常用的八种HTML5动效制作手法移动端的数据输入与存储

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找作文动态热点娱乐育儿情感教程科技体育养生教案探索美文旅游财经日志励志范文论文时尚保健游戏护肤业界