1.数据有效性校验位置和处理方式
1)名词说明
数据有效性校验:程序在处理数据并先校验它是否符合约定的格式;
校验位置:目前我所知道的校验位置(校验代码位置)有 A、放在UI层或控件内 B、放在中间层 C、由数据库校验
处理方式:目前我所知道的对数据校验不通过的处理方式有 A、报错,终止流程;B、智能处理(比如对超长字符串进行截断,对大小写字符自动转换,对数字自动保留小数位,自动转换格式等)
2.在需求分析和设计时尽可能记录每个业务数据的格式要求,但要备注可能的扩张(如流水号可能随着业务倍增而升位)。
举个例子:原来海运业不发达的时期,船期最多用到7位字符就可以了,当时数据库表字段就设计为只允许写入7个字符。十多年后,随着海运业的发展,7位已经无法满足需求,需要对字段进行扩位。系统从业务逻辑层到数据库表都得改,比较麻烦。如果当时用发展的眼光看业务,就应当预测到该字段需要预留字符长度,升级也就简单了。
3.校验位置尽量放在UI层。有很多老系统都喜欢用数据库自带的校验逻辑,只有写不进库了再跳出一片SQL错误字符,业务人员又看不懂。而且浪费中间层和数据库资源。放在UI层校验,并尽量用控件代码处理是最有效和有利于客户体验的。
4.尽量在需求阶段就和用户确认数据不符合约定规则如何处理。比如备注字符串过长时是做不处理,还是做自动截取?空格符如何处理?O和0如何自动处理?1和I如何自动处理等?