前端传来的数据不要直接用
前端传来的数据不要直接用!
前端传来的数据不要直接用!
前端传来的数据不要直接用!
一定要自己验证下数据的准确性
否则一旦被有心人抓包篡改数据,严重的话可以让公司破产
我有个朋友最近被爆出来一个惊天大BUG
他在下单阶段竟然直接用前端传来的price作为订单的价格,一开始还能正常运行,直到某天,客服发现后台出现了大量0元订单.....
不要完全相信测试
普通的测试一般就做做业务上的测试,能用就行了,他们只关心表面结果,几乎没有测试会在乎你会不会有安全漏洞,什么sql,什么性能问题,就算是高级测试,他们会堂而皇之的告诉你,他们是功能测试,会看日志的测试都能让我觉得很不同,很感动。
改变别人太难了,还是改变自己吧,凡事自己想清楚,不要指望着别人会帮你什么。还是自己态度的问题。毕竟出了事故,还是开发背大锅。
代码精度问题
var_dump(0.7+0.1);//0.8
var_dump(0.8==0.7+0.1);//false
var_dump(sprintf('%.20f',0.7+0.1));//0.79999999999999993339
var_dump(sprintf('%.20f',bcadd(0.7,0.1,2)));//0.80000000000000004441
var_dump(sprintf('%.20f',0.8));//0.80000000000000004441
涉及小数运算时,记得用bc函数,否则因为小数转二进制丢失精度的问题,出现各种奇葩bug的时候可别找半天找不到哦。而且这种精度问题不是所有数字都会发生的,所以在测试环境可能根本不会遇到,但是一上线,用户一试一个准。
总结:不要为了图一时方便偷懒,不然等问题爆出来的时候还有谁比你更尴尬呢?严格的代码里验证的代码可能比真正的逻辑代码还多。不要总抱着能用就行的侥幸心理,一旦东窗事发,想不提桶都难了。验证一下数据能有多复杂有多难?其实都是我们工作态度的问题,态度决定细节,细节决定你能有多少成就。
上线时竟然把前端忘了?
有两个需求由于排期不明确,我也是突然得知今天就要走紧急上线。在上线时忘记通知前端同学了,结果嗯,可想而知,场面还是比较尴尬。还好这玩意没啥人用,不然妥妥的挨一顿批。
这咋说呢,本来就没有明确的责任人,再加上上线时间本来就没规定,出现这种情况也不足未奇。谁来做这个主动与N方周旋的人呢?还是取决于个人态度。
网友评论