代码验证

前天在工作中遇到一个由于验证不完全导致的问题,写一下心得!

场景是这样的:下单的时候没有进行金额验证,导致明细中有正数负数时相互抵消,只要很少的钱可以下大金额的订单。例如订单中有1000和-999两种明细,总金额只要1元钱即可,-999的明细走不下去,但是这1000元的可以,导致1元钱买了1000元的产品。

通过这个教训,以后在写代码过程中,

1.要进行js、服务器和api的三端验证

2.遇到金额,要验证正整数

3.各种验证要加上,不要怕麻烦,有时候一个小问题会导致大事件

Team开会,在会上总结了两种解决方案,一种是codereview,一种是单元测试

时间: 2024-12-29 11:34:28

代码验证的相关文章

Java千百问_02基本使用(008)_eclipse如何关闭代码验证

点击进入_更多_Java千百问 1.eclipse如何关闭代码验证 我们知道eclipse会在编译时对java代码.文本.标记文本等等进行验证,但是,这个过程在文件多的时候非常缓慢,通常会影响我们的开发效率.这里我们介绍一下如何选择性关闭这个功能. 选择性关闭: 具体方法:windows–>Preferences–>Validation 在下面有一个列表,可以根据自己需要选择关闭验证功能(选中状态是需要验证).当然这里还可以自定义验证规则.其中: "Build"列是指文件在

ASP.NET 企业组织机构代码验证

/// <summary> /// 组织机构代码验证 /// </summary> /// <param name="arg"></param> /// <returns></returns> public static Boolean CheckCnCode(string arg) { int[] factor = { 3, 7, 9, 10, 5, 8, 4, 2 };//加权因子 if (!Regex.IsM

Android中图像变换Matrix的原理、代码验证和应用

转自 http://biandroid.iteye.com/blog/1399462 第一部分 Matrix的数学原理 在Android中,如果你用Matrix进行过图像处理,那么一定知道Matrix这个类.Android中的Matrix是一个3 x 3的矩阵,其内容如下: Matrix的对图像的处理可分为四类基本变换: Translate           平移变换 Rotate                旋转变换 Scale                  缩放变换 Skew    

【NumberValidators】工商营业执照号码和统一社会信用代码验证

原文:[NumberValidators]工商营业执照号码和统一社会信用代码验证 从本质上讲,工商营业执照号码和统一社会信用代码是两套完全不一样的编码规则,识别结果也仅有行政区划部分为两者共有,但因为这两种编码同时存在的原因,所以如果需要在系统中唯一标志一家企业时,还是可以通过工商营业执照号码或统一社会信用代码来进行识别. 工商营业执照号码长度按工商规定为15位,统一社会信用代码按国家规定是18位,你可以在此类库的验证基础上,通过其它网站(比如企查查)来进一步查验企业是否真实存在. 在Numbe

ThreadLocal原理分析与代码验证

ThreadLocal提供了线程安全的数据存储和访问方式,利用不带key的get和set方法,居然能做到线程之间隔离,非常神奇. 比如 ThreadLocal<String> threadLocal = new ThreadLocal<>(); in thread 1 //in thread1 treadLocal.set("value1"); ..... //value的值是value1 String value = threadLocal.get(); in

Android中图像变换Matrix的原理、代码验证和应用(二)

注:本篇文章为转载文章,因为原文格式排版较乱,但是内容非常棒,所以整理一下,方便以后查看. 查看原文请戳:http://blog.csdn.net/pathuang68/article/details/6991988 Matrix介绍文章请戳:http://blog.csdn.net/pathuang68/article/details/6991867 package com.pat.testtransformmatrix; import android.app.Activity; import

JAVA代码验证身份证信息

java验证身份证信息代码 转自:http://www.blogjava.net/xylz/archive/2011/01/05/342330.html import java.util.Calendar; import java.util.HashMap; import java.util.Map; /** /** * 身份证号码验证 * 1.号码的结构 * 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成.排列顺序从左至右依次为:六位数字地址码, * 八位数字出生日期码,三位数字

C#代码验证sql语句是否正确(只验证不执行sql)的方法

转自 :http://www.jquerycn.cn/a_15010 为大家介绍如何用C#验证sql语句的正确性,就像sql查询分析器中的检测代码功能一样,有需要的朋友,可以参考下. 需要用到如下的知识:SET PARSEONLY检查每个 Transact-SQL 语句的语法并返回任何错误消息,但不编译和执行语句.SET PARSEONLY { ON | OFF }当 SET PARSEONLY 为 ON 时,SQL Server 只分析语句.当 SET PARSEONLY 为 OFF 时,SQ

一行代码验证微信服务器配置

今天在搞微信小程序验证工作 在配置消息推送里Tokent 一直校验失败 把所有能想到的问题都解决了,但一还是校验失败 经过反复测试和网友的回答终于解决 其实微信向您的服务器发送验证请求时 你只需要将微信发送过来的echostr 再返回给它就可以验证通过了 当然正常情况下按照微信的文档,你应该对微信发送的数据进和你本地的数据进行对比,如果数据一致才告诉它验证通过 我这里只是测试环境为了偷懒才这样做的,正式环境还是应该遵守规则 <?php //只需要将微信发送过来的随机字符串返回给微信即可验证通过