摘要: 1、异常影响效率,应该尽量避免? 确实,经充分优化的无异常程序,正常情况下应该会比使用异常处理的程序更为高效,但是随着编译器和虚拟机技术的发展,这种差距越来越小。特别是对于比较复杂的应用系统,反而会出现使用异常的程序更为高效的情况。因为可以把“异常情况”统一进行管理,避免了为每一次的错误都进行设定和约束。真正值得我们在无异常状态下编程的,是底层的系统开发和嵌入式系统,在可以预见的未来,它们仍然是各种编译技巧和微观技术争霸的舞台。这也是为什么C++标准中允许开发者设定编译器是否打开异常支持的原因。2、在所有的操作步骤中都加入异常处理。 这是另一个极端。经验告诉我们,极端往往是错误的。这一次没有. 阅读全文
posted @ 2004-12-05 22:13 计算机技术 阅读(167) 评论(0) 推荐(0)
摘要: 以前的文章中,我们讨论了三值逻辑可能的运算体系和可能的代码实现。这里,我们给出一种完全的实现方式。以下代码利用枚举,在每一个三值逻辑对象中标识出其认可的算法,如果两个对象认可的与/或算法不一致,则抛出异常。出于程序结构上的完整性限制,逻辑对象具有默认算法——Arithmetics.Mathemetic。但是,我们可以在运行期修改它这个标识,也可以通过工厂方法方便的得到指定算法的对象。以下为算法标识枚举Arithmetics的定义:public enum Arithmetics {Mathematic, Database, Verify};以下为三值逻辑结构的代码,从不同的与/或运算静态方法的名 阅读全文
posted @ 2004-10-17 04:50 计算机技术 阅读(262) 评论(0) 推荐(0)
摘要: 这封招聘信来自 Jython 和 IronPython 的作者Jim Hugunin。在这封信中,我们可以看到微软在动态语言,特别是Python For .net 领域的兴趣和决心,以及……我们亲爱的 Hugunin 同志一贯挖坑不填的优良作风……——译者You may have noticed that I've been really bad about participating in this mailing list and making new releases of IronPython since I joined Microsoft two months ago. A 阅读全文
posted @ 2004-10-14 00:10 计算机技术 阅读(172) 评论(0) 推荐(0)
摘要: 很多年,忘不了这部电影,因为我看VCD没头没尾的毛病,早不记得导演是谁(社祺峰?)。但这部电影比别的影片给我留下的记忆多得多。一部台词没有枪声多的影片,让我明白原来视觉效果可以表达如此丰富的语言,原来人言所称为“文化沙漠”的香港可以生产如此另类先锋的艺术。黄秋生的冷,吴镇宇的黑色唠叨,吕颂贤的不知所云,骨子里透着地下文化的酷感。如果你喜欢古龙,你一定会喜欢这部电影。不要试图在此总结中心思想,探讨伦理道德。如果你体会到“酷”,就足够了。“你鬼王,你鬼见愁呵!”“你有没有小弟,你有没有小弟?阿信是我小弟呵!“大嫂有没有勾引过你?大嫂有没有勾引过你?大嫂勾引过我呵!“阿信的事,我管定了!”以上选自吴 阅读全文
posted @ 2004-10-10 01:00 计算机技术 阅读(204) 评论(0) 推荐(0)
摘要: 姐姐在MSN上说,过节了,送你盒月饼吧,你还可以送给女孩子去讨人家开心我没有一如既往的瞎客气,谢谢姐姐~我想,这份礼物,我应该大大方方收下来,因为这是姐姐,是我视若师长,视若亲人的朋友。我对自己亲姐姐,就从来没有客气过,对姐姐也不会。这是前几天的事了,中午姐姐又在MSN上说,本来想让家里人送的,怕误了时间,让广州的亲戚就近给你送过来吧。没想到姐姐的亲戚离着我工作的地方这么近,中午通过电话,几分钟就到了。只是想想大中午让人家专程送一趟,还是有点不好意思。月饼很精致,抚摸着盒子,感觉得到远在异国的问候。晚上回家,爸爸来了电话,说公司寄到家里的月饼已经收到了。我就在电话里傻笑着,有一句没一句的应着, 阅读全文
posted @ 2004-09-24 00:41 计算机技术 阅读(117) 评论(0) 推荐(0)
摘要: C#中的三值逻辑类三值逻辑的实际应用价值并未被忽视,在绝大多数介绍关系型数据库知识的书籍中,都涉及了NULL值的讨论,也少不了三值逻辑。而MSDN中,则给出了一个用C#实现的三值逻辑结构(struct),在应用层提供了三值逻辑运算功能。相关文章转贴如下:C#LanguageSpecification11.4.2 Database boolean typeThe DBBool struct below implements a three-valued logical type. The possible values of this type are DBBool.True, DBBo... 阅读全文
posted @ 2004-09-19 05:18 计算机技术 阅读(542) 评论(0) 推荐(0)
摘要: 习惯上我们在应用系统中一直使用两值逻辑:非True即False。两值逻辑的运算体系已经相当成熟,与、或、非以及衍生的异或、与非等等。但是在实际应用中,我们会有机会遇到三值逻辑。三值逻辑通常包含可选的True、False、NULL。如何在完备的两值逻辑运算体系中加入这个NULL,使之满足我们的需要,并且不会引发逻辑矛盾,就是我们要在这里讨论的。NULL参与逻辑运算时,实际上存在着不同的算法。按NULL值在运算中的“优先级”分为三种。通常我们在数据库中使用的三值逻辑,遵循NULL最优的原则。有NULL值参与二值运算时,返回结果为NULL,其它与二值逻辑相同。这一原则基于关系型数据库将NULL视为“ 阅读全文
posted @ 2004-09-15 02:06 计算机技术 阅读(218) 评论(0) 推荐(0)
摘要: 设计模式,基本上是一个经验总结与策略选择的过程。开发者将开发过程中可重复的设计技术手段总结出来,形成模式,然后在适用的场合应用它们。 作为一门新生的语言,C#吸取了既有技术的很多优点。并形成了自己的一些特色技术。在实现某些模式时,具有形式上的优势。设计一些类库(通常这会大量用到模式),C#有几个比较令我满意的地方:1、类在命名空间中的可见级别是可以定义的,在实际工作中,我就大量使用internal级别的类和结构,有效保证了代码的保护级别;2、类成员可以选择多种不同的可见级别,完整的可见层次分划在类库设计时非常有用。难以想象如果没有私有和保护级别的构造函数,我如何定义严格的单例... 阅读全文
posted @ 2004-09-13 10:06 计算机技术 阅读(151) 评论(0) 推荐(0)
摘要: 译者:至此Python指南的正文部分就全部译完了,感谢Clover姐姐、Sickkid、尹伟铭、面面、珂珂等朋友在翻译过程中给我提供的帮助和支持。特别感谢Python指南2.2版(http://python.cn/contents/python_tutorial/python-tutorial.html)的作者李东风。在最后这一章的翻译中,术语等内容参照他的译本进行了修订和统一,极大的提高了工作效率和这一章的质量。 章节目录9.1 有关术语的话题 9.2 Python 作用域和命名空间9.3 初识类9.3.1 类定义语法 9.3.2 类对象9.3.3 实例对象9.3.4 方法对象9.4 一些说 阅读全文
posted @ 2004-01-30 19:24 计算机技术 阅读(154) 评论(0) 推荐(0)
摘要: 子目录 8.1 语法错误8.2 异常 8.3 处理异常8.4 抛出异常8.5 用户自定义异常8.6 定义清理行为 8. 错误和异常至今为止还没有进一步的谈论过错误信息,不过在你已经试验过的那些例子中,可能已经遇到过一些。Python中(至少)有两种错误:语法错误和异常( syntax errors and exceptions)。 8.1 语法错误语法错误,也称作解析错误,可能是学习Python的过程中最容易犯的:>>> while True print 'Hello world' File "", line 1, in ? while T 阅读全文
posted @ 2004-01-27 21:07 计算机技术 阅读(241) 评论(0) 推荐(0)