每周必写
这周阅读了《代码大全》的第八章 防御式编程,里面讲到断言,其中断言是指在开发期间使用的、让程序在运行时进行自检的代码。断言只在开发和维护阶段使用。
还有使用断言的建议:
1、 用错误处理代码来处理预期会发生的状况,用断言来处理绝对不应该发生的状况。断言是用来检查用于不该发生的情况,而错误处理代码是用来检查不太可能经常发生的非正常情况,这些情况在写代码的时候就可以预料到的,且产品代码中也要处理这种情况。断言用来检查程序中的bug,如果断言触发,则肯定是程序中存在bug。错误处理代码对反常情况做成反映。可以把断言看成主动的可执行的注释。错误处理代码处理系统外部的异常数据。如果数据来自可信的内部,则可以使用断言来检查。
2、 避免把需要执行的代码放入断言中。
3、 用断言来注释并验证前条件和后条件。前条件调用方代码在调用子程序或类之前要保证的条件;后条件是指被调用方代码执行结束后要保证的条件。可以用断言来检查前条件和后条件。
4、 对于高健壮性的代码,应该先使用断言再处理错误。同时使用两者。
这周4个课时的时间继续开发抽签项目,在实现个人抽签的功能上,继续开发完善实现抽到签后能分组。在此开发过程中,我们也又遇到了一些新的问题,怎么能让第二次抽到的数替换第一次的,通过查资料回想以前学的知识,编写出来了。
int r = new Random().Next(0, numList.Count - 1);
list.Add(numList[r]);//把随机抽到的数添加到list里
numList.Remove(numList[r]);//把抽到的数从numList里移除
string s = "";//当次循环所抽到的list号码,单独作为一个字符串添加到DataTable里
虽然这个任务完成了,但是在这个过程中,我觉得结对编程是很重要的,有时候两个人会产生分歧,但是经过讨论会达到一致,而且效率也提高了很多。
每次开发项目都能找到自己不足的地方,还的好好学,有时候感觉自己越来越笨了。