常见的数据类型有哪些:实操可直接套用的基础数据分类
上次帮公司做用户信息录入的后台接口,对接测试的时候频频报错,测试人员随口问我常见的数据类型有哪些,我一时卡壳,脑子里混着数字、文字各种概念,完全说不清楚,也正是这次翻车,让我实打实摸透了日常开发里能用的所有基础数据类型。
最开始写代码的时候完全不走心,所有用户输入的内容全都默认设成文本类型,反正当时觉得不管是手机号、年龄、余额还是昵称,都是用户打出来的字,统一归类肯定不会出错。结果测试批量导入用户数据的时候,问题直接炸了,年龄字段没法做大小判断,筛选十八岁以上用户完全筛选不出来,账户余额无法进行加减计算,后台统计的营收数据全部错乱,整整一下午的工作成果全部作废,盯着满屏的报错弹窗,才意识到随便混用数据类型是最致命的低级错误。
那时候才发现,不同数据类型的适配场景,根本不能凭感觉来。
折腾好久才搞明白,日常实操里最基础的就是字符串类型,也就是我们说的文本数据。姓名、地址、手机号、备注这些不需要计算、只用来展示和存储的内容,全部适配字符串,哪怕手机号全是数字,也得用文本类型,不然开头的0会被自动剔除,造成数据丢失,这是我踩过最频繁的一个坑。很多新手都会犯这个错,单纯看字符形态判断类型,完全忽略了数据的使用用途,最后导致数据失真。
然后就是数值类型,这里还分整数和浮点数两种细分类型,整数专门用来存年龄、人数、订单数量这类没有小数的纯数字数据,浮点数则适配金额、评分、百分比这类需要精准小数计算的数据。之前就是分不清这两个细分类型,把订单金额设成了整数类型,导致用户支付的带小数金额全部被取整,出现对账差额,财务那边连续两天找我核对账单,反复排查每一条交易数据,一点点修正错误数据,折腾得整个人都很烦躁,也彻底记住了数值类型不能一概而论。
布尔类型是我之前最容易忽略的一个数据类型。
后来才反应过来,状态类的判断全靠它,比如账号是否激活、订单是否完成、消息是否已读,只有真和假两种状态的内容,通通使用布尔类型,不需要复杂的数值和文本,用这个类型不仅节省内存,代码的判断逻辑也会变得格外的简洁。之前不懂的时候,硬是用数字0和1代替真假,写出来的代码冗余又难懂,后续同事接手我的代码,还特意吐槽过这段不规范的写法。
还有一个偶尔会用到的日期类型,专门存储时间数据,像注册时间、下单时间、更新时间,不用自己拼接文本,直接调用日期数据类型,就能自动完成时间排序、时间差计算,比手动处理文本时间省事太多,还能避免时间格式不统一带来的各种bug。
改完所有数据类型的配置后,重新对接测试,批量测了上百组用户数据,筛选、计算、状态判断全部正常,后台数据错乱的问题彻底解决,接口运行的稳定性也提升了很多。
保存完最终的代码版本,关掉调试窗口,电脑屏幕暗下去的瞬间,只觉得这种基础细节,真的容不得半点敷衍。