Chen Jian

业务中常用的四种计算及其与空值输入的关系

四种运算: 1.普通的四则运算、指数、高等数学运算等 2.求最值 3.汇总/平均 4.统计 第1种运算没什么可说的 如果考虑剩下的三种运算,在处理空值输入时,往往会使得业务逻辑比较复杂    a.如果输入都是空或者没有输入,则结果是空还是零?    b.如果有些输入为空,有些不空,则不空的那个是当作零?还是不参与比较/汇总/平均/统计?   

关于“异常”的胡乱想法

1.每个步骤都有可能发生异常,发生了异常怎么办? 2.异常可分为系统异常和业务上的“非理想状况”。比如一个网上购物网站,连不上支付网关是系统异常,用户余额不足不能支付则属于业务异常。 3.对于批量数据接口异常,要区分以下几种情况:    a.未返回数据    b.返回了批量数据,但只是返回了一个空的容器(如空文件,空的java.util.List)    c.返回了批量数据,但容器里记录的是报错信息    d.返回了批量数据,但容器里记录的信息不是我们想要的信息    e.返回了批量数据,且容器里有我们想要的数据,但是其中某些数据是正常的,某些是错误的 100.异常除了改变程序流程,异常信息本身该怎么记录? 不同级别的异常应有不同的记录方式

注意日常跑批系统中的“非工作日”问题

   在工作日,数据接收者如果没拿到想要的数据,就会报个异常   但在工作日,它不应该报异常的 所以,要么    1. 将工作日、非工作日 的区分应用到程序逻辑中,使系统在非工作日不去获取数据    2. 不做这种区分,仍然报出异常,但要确保这种异常不会对系统的其他方面产生影响,并且用户也要人为地注意:这是个伪异常

当用户提出业务规则时,我们要注意NULL问题和不在值域问题

1.NULL问题 规则:“如果三个月内有一次逾期,那么。。。” 问题是,如果前2个月的逾期信息为空,那怎么办? 这不仅是一个预防空指针的问题,而且还是一个需求问题 2.不在值域问题 规则:如果当前逾期,那么。。。 问题:如果当前逾期的标志不是M0-M6,而是 “侬好”,怎么办?

在系统里注册、登录的“用户”有哪些?

这个真要在做之前考虑周全,因为“用户”跟系统中很多其他资源都是挂勾的。如果一开始没做好,后来做起来就麻烦了 必须要考虑以下问题: 1.有没有guest用户? 此guest和彼guest是否当作同一个人? 对guest的登录点怎么控制? 2.有没有admin,test等系统专有用户? 这种用户在参与业务时该怎么对待? 3.在真实用户里,除了张三、李四,有没有“综合管理员”这种虚拟用户? 她在参与业务时该怎么对待?