注意:定长格式文件的“空格”究竟是什么字符,要约定
要约定:空格是“\0”,还是“\20”,还是其他
要约定:空格是“\0”,还是“\20”,还是其他
1.每个步骤都有可能发生异常,发生了异常怎么办? 2.异常可分为系统异常和业务上的“非理想状况”。比如一个网上购物网站,连不上支付网关是系统异常,用户余额不足不能支付则属于业务异常。 3.对于批量数据接口异常,要区分以下几种情况: a.未返回数据 b.返回了批量数据,但只是返回了一个空的容器(如空文件,空的java.util.List) c.返回了批量数据,但容器里记录的是报错信息 d.返回了批量数据,但容器里记录的信息不是我们想要的信息 e.返回了批量数据,且容器里有我们想要的数据,但是其中某些数据是正常的,某些是错误的 100.异常除了改变程序流程,异常信息本身该怎么记录? 不同级别的异常应有不同的记录方式
在工作日,数据接收者如果没拿到想要的数据,就会报个异常 但在工作日,它不应该报异常的 所以,要么 1. 将工作日、非工作日 的区分应用到程序逻辑中,使系统在非工作日不去获取数据 2. 不做这种区分,仍然报出异常,但要确保这种异常不会对系统的其他方面产生影响,并且用户也要人为地注意:这是个伪异常
1.NULL问题 规则:“如果三个月内有一次逾期,那么。。。” 问题是,如果前2个月的逾期信息为空,那怎么办? 这不仅是一个预防空指针的问题,而且还是一个需求问题 2.不在值域问题 规则:如果当前逾期,那么。。。 问题:如果当前逾期的标志不是M0-M6,而是 “侬好”,怎么办?
要不然万一数起来会死人
这个真要在做之前考虑周全,因为“用户”跟系统中很多其他资源都是挂勾的。如果一开始没做好,后来做起来就麻烦了 必须要考虑以下问题: 1.有没有guest用户? 此guest和彼guest是否当作同一个人? 对guest的登录点怎么控制? 2.有没有admin,test等系统专有用户? 这种用户在参与业务时该怎么对待? 3.在真实用户里,除了张三、李四,有没有“综合管理员”这种虚拟用户? 她在参与业务时该怎么对待?
当用户轻描淡写地谈到“卡”时,你必须打断她,并问道: 1.包括贷记卡和准贷记卡吗? 2.包括人民币卡和其他币种卡吗? 3.包括主卡和附卡吗? 4.包括正常卡和已销户卡吗? 当用户轻描淡写地谈到“卡数”时,你必须打断她,并问道: 1.包括贷记卡和准贷记卡吗? 2.包括正常卡和已销户卡吗? 3.主卡和附卡合起来算几张卡? 4.双币卡算几张卡?那种只有美元币种而没有人民币种的卡怎么算? 当用户轻描淡写地谈到“账户数”时,你必须打断她,并问道: 1.指的是卡总数,还是开户机构总数? 2.如果用户在某开户机构开的卡都销掉了,这个账户数还计入吗? 当用户轻描淡写地谈到“额度”时,你必须打断她,并问道: 1.是用户额度还是某张卡的额度?用户额度怎么算? 2.是各张卡的额度总和,还是各张卡中的最高额度? 3.如果用户爸爸给了用户一张附属卡,附属卡额度是否与我们正在谈的“额度”有关? 4.已销户卡的额度算不算进来? 5.如果用户的卡是双币卡,这个额度以哪个为准? 6.如果用户只有 美元卡,这个额度怎么算?
如果把各字段做成一行排列在一起,那么当中间某个字段的长度改变、或者在中间增删字段时,其后面所有字段的位置也都将改变,这个文件的解析程序就要大改 如果用XML的话,字段长度、增删字段都不会有这种问题,只不过数据量会大很多,在网络传输中可能会影响效率
对于一个很长的流程,务必要考虑 超时处理机制 最好能做到: 当发生超时后,系统可以自动处理,而不必让用户手动进行强制的、野蛮的操作(如强行叉掉窗口)。 超时的认定机制还分两种: 1.流程启动以后,过了一段时间后未看到预期行为,为超时 2.流程启动以后,在某个时间点后仍未看到预期行为,为超时
1.数据类型,字符串还是数字,还是日期 2.是否可能为空 3.如果为空,是"",还是NULL 4.如果是字符串,最大多少字节 5.如果是数字类型,是整数还是浮点数 6.如果是数字类型,是正数还是负数 7.如果是浮点数,精度是多少 8.如果是一些代号,那么可枚举的范围是什么?空用什么表示?代号大写还是小写 9.如果是货币,是什么币种,是以元为单位还是以万元为单位 10.如果是日期,格式是什么