将函数写透

来源:互联网 发布:mac千牛登陆不上 编辑:程序博客网 时间:2024/04/29 12:52


    每个程序,总是由众多的函数组成的,只要我们能保证函数的正确性,整个程序的正确性也会随之提高,哪么如何才能保证函数的正确呢?在此向大家推荐一招---写透一个函数。万丈高楼平地起,函数就是程序的地基,地基好了,加上合适的结构,楼一定可以建得又高又好。
    写透一个函数,主要从以下几点入手
1:检验入口参数
    病从口入,参数就是函数的口,如果不对参数进行任何检验就盲目处理,后果可想而知。在这里,主要是检查参数的取值是否在预期之内,你对参数的任何假设,都要明确的用代码体现出来,而不要只是记在心中。
2:检查每一步操作的返回值
    程序总是充满了意外,返回值校验绝对不能缺少。一旦返回值不符合预期,要以尽量明显的方式让你知道。即便是你认为绝对不可能出错的操作,也要检验返回值,因为程序很可能以你意想不到的顺序执行。我曾经对DetroyWindow的返回值进行检验,按理说,这是一个肯定不会出错的调用,可是有时候调用竟然会失败,跟踪后才发现,程序的结构有问题,它会被调用两次。因此,我很快的修改了结构,解决了一个隐藏的bug,这是检查返回值的功劳。
3:检查函数执行后的数据是否正常
    这一步,和入口检验遥相呼应,可以确保函数的执行结果是符合预期的。你对返回值的任何假设,也要用代码来明确的体现出来。一旦不符合预期,要以尽量明显的方式让你知道。
    如果你以前没有这么做,赶紧这么做吧,保证你的代码质量会上一个档次。
    其实,细心的你或许已经发现,这3个步骤是一样的,关键都在于对预期用代码准确描述出来,而不是存在与心中。用一个时髦的词儿来说,这叫做防御性编程。