我们经常需要校验数据是否存在,格式是否正确,如果每个函数都处理这些,导致函数中大量的代码用于校验数据,那么应该遵循下列规则,做到既满足系统需要,又不会导致大量的校验代码:
1.集中进行数据校验,如:用户输入的数据,数据库中查询出来的数据等等,如果能够做到集中校验数据,那么将能够省心、省力。做不到的话,那就请遵循第2条。
2.在使用的地方校验,什么地方使用什么数据,就需要进行校验,特别是那些判断对象是否存在或者其他的。
3.校验些什么数据:
基本规则,校验那些自己控制不了的数据
a:)用户的输入,尽量让用户少输入数据,使用菜单、选择、CheckBox、RadioBox等等手段,让用户进行选择,如果确实需要用户输入的,那么就请校验它。包括:在界面上,输入时直接校验,或者在程序中,集中的校验它。
b:)从数据库中查询来的结果,如果数据库永远只从自己的代码中输入数据,那么就不必校验了,如果数据来自于第三方或者数据库格式可能发生变化,那么也请校验吧(辛苦啦 :)。
C:)第三方的数据来源:别人的程序、别人的数据、别人的WebService。。。。只要时别人的,拿到后就校验它。使用的时候就要校验,别偷懒,谁知道别人会不会传个大象过来,却说是只蚂蚁呢... ...
D:)当一个数据需要从A类型转换为B类型的时候,你需要校验它是否能够转换,最好自己封装一个Convert类来统一处理这种转换,统一做错误处理和当错误发生时,返回的缺省值,可以省去在程序中不断的校验,不断的处理缺省值。
自己可以控制的数据,在使用、传递过程中,有错误怎么办,如果是这样,最好是抛出异常,改正错误。
1.集中进行数据校验,如:用户输入的数据,数据库中查询出来的数据等等,如果能够做到集中校验数据,那么将能够省心、省力。做不到的话,那就请遵循第2条。
2.在使用的地方校验,什么地方使用什么数据,就需要进行校验,特别是那些判断对象是否存在或者其他的。
3.校验些什么数据:
基本规则,校验那些自己控制不了的数据
a:)用户的输入,尽量让用户少输入数据,使用菜单、选择、CheckBox、RadioBox等等手段,让用户进行选择,如果确实需要用户输入的,那么就请校验它。包括:在界面上,输入时直接校验,或者在程序中,集中的校验它。
b:)从数据库中查询来的结果,如果数据库永远只从自己的代码中输入数据,那么就不必校验了,如果数据来自于第三方或者数据库格式可能发生变化,那么也请校验吧(辛苦啦 :)。
C:)第三方的数据来源:别人的程序、别人的数据、别人的WebService。。。。只要时别人的,拿到后就校验它。使用的时候就要校验,别偷懒,谁知道别人会不会传个大象过来,却说是只蚂蚁呢... ...
D:)当一个数据需要从A类型转换为B类型的时候,你需要校验它是否能够转换,最好自己封装一个Convert类来统一处理这种转换,统一做错误处理和当错误发生时,返回的缺省值,可以省去在程序中不断的校验,不断的处理缺省值。
自己可以控制的数据,在使用、传递过程中,有错误怎么办,如果是这样,最好是抛出异常,改正错误。