博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
每周必写
阅读量:5329 次
发布时间:2019-06-14

本文共 901 字,大约阅读时间需要 3 分钟。

      这周阅读了《代码大全》的第八章 防御式编程,里面讲到断言,其中断言是指在开发期间使用的、让程序在运行时进行自检的。断言只在开发和维护阶段使用。

还有使用断言的建议:

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里

虽然这个任务完成了,但是在这个过程中,我觉得结对编程是很重要的,有时候两个人会产生分歧,但是经过讨论会达到一致,而且效率也提高了很多。

每次开发项目都能找到自己不足的地方,还的好好学,有时候感觉自己越来越笨了。

 

转载于:https://www.cnblogs.com/mybelieve/p/5360354.html

你可能感兴趣的文章
将十进制IP转换成二进制IP
查看>>
mysql的replication(主从同步)总结
查看>>
Zookeeper 概念
查看>>
系统开机启动项优化
查看>>
docker 报错:x509: certificate has expired or is not yet valid
查看>>
追求--Mars&Coara
查看>>
svn sync主从同步学习
查看>>
Hdu-1358Period(KMP算法之next数组的应用)
查看>>
Thrift 个人实战--Thrift RPC服务框架日志的优化
查看>>
u盘启动盘安装centos7.5操作系统
查看>>
对于PHP面试知识点的小结
查看>>
A guess 解题报告
查看>>
a:link,a:visited,a:hover,a:active
查看>>
ubuntu12.04 安装配置jdk1.7
查看>>
android深度探索第二章
查看>>
asp.net学习笔记1
查看>>
linux下编译复数类型引发的错误:expected unqualified-id before '(' token
查看>>
sed用法
查看>>
codeforces 1041A Heist
查看>>
centos 7 升级python2.7 到3.5
查看>>