代码大全 . 处理代码依赖关系 . 阶段性编程
来源:互联网 发布:mac 多玩游戏盒子 编辑:程序博客网 时间:2024/04/29 03:18
本来在baidu blog上写文章,但是感觉怪怪的;在sohu上写文章,打开主页,发现全是花边新闻,和我脑子中的技术思想格格不入——虽然csdn的blog实在很垃圾,不过看在用了这么久、好歹也是第一程序员网站的份上,还是回到这里来,做做下里巴人的事情吧!(vckbase的blog真可恶,让我半天找不到注册blog的地方!)
用断言或者错误处理代码来监察依赖关系
在读到这一段的时候,我特别有感觉。为什么?因为在写代码的时候,常常会用到一些复杂的算法机制(比如说,进化、邻域调整、信息素传播),写着写着,写到步骤B,忽然回想到:步骤A做过没有?如果A没做、或者没做好,我现在写步骤B也是白搭啊!心神不定之下,不得不回到前面,仔细检查代码——郁闷地浪费时间。
事实上呢?如果代码非常重要的话,你可以用状态变量来对关键的顺序依赖关系做出说明。
比如,在类的构造函数里,将isExpenseDataInitialized的类成员初始化为false,表示它没被初始化;在InitializeExpenseData()中,将这个值设为true。每个依赖于已初始化的expenseData的函数,在使用这个数据之前,都可以检查一下:到底有没有初始化?这样就不至于使用错误的数据。
《代码大全》:引入新变量、新初始化代码和新错误处理代码,增加了出错的可能性、额外的复杂度和增加二次出错几率,应该“权衡”。
延伸思考:
这样的“检查代码”,在执行的时候基本上不浪费什么时间的。
在写阶段性代码的时候,“某个算法过程”是不是完成了,完全可以写一个步骤变量,在代码中进行标记。比如,我们写的伪代码顺序是:A、B、C......,那么我们写代码的时候,定义isAComplete、isBComplete、isCComplete......然后将它们全部初始化为false;再之后我可以先写C段的代码、再写B段的代码......如果不知道自己还有哪些代码没写,将这些isXComplete打印输出,不就一目了然啦?——更何况,这些变量并不直接干预我执行的过程,但是让我的代码更加人性化,何乐而不为?(相当于用编写额外的代码,省却了文档和标记)
- 代码大全 . 处理代码依赖关系 . 阶段性编程
- 写代码时如何处理变量的依赖关系?
- 利用模板隐藏代码中依赖关系
- 《代码大全》之《防御性编程》
- Android 编程实用代码大全
- 包依赖关系处理
- Java阶段性测试--第二三大题参考代码
- 查询代码之间的依赖关系(从root开始)
- iOS 多层依赖关系的代码联调
- 高校云平台(八):分析代码依赖关系
- iOS 最新时间处理代码大全
- 读《代码大全》--防御式编程--总结
- 《代码大全2》之---防御性编程
- 【读书笔记】代码大全21章:团队编程
- 《代码大全》笔记--防御式编程
- 《代码大全学习笔记》第九章,伪代码编程过程
- 《代码大全》读书笔记——伪代码编程过程
- 读《代码大全2》笔记:伪代码编程过程
- debian 安装笔记
- MFC 中的CListCtrl简介
- 在Visual C++中使用内联汇编(_emit)
- 生活了1亿2000万年的蚂蚁物种
- 被炒了-主管说我做不出网游架构
- 代码大全 . 处理代码依赖关系 . 阶段性编程
- 敌法师幼儿园回忆
- 【转帖】DriverNetwork miniport驱动学习
- 永中Office受益"黑屏"下载量破530万次
- 判断一个数是否为2的整数次幂
- 拷贝构造函数
- sql2005管道的另一端上无任何进程”及附带一系列问题完整解决方法
- ThreadLocal的设计与使用
- 永远的超级玛丽