编程思想
zade
这个作者很懒,什么都没留下…
展开
-
对象的完整性
对象的完整性 对象是OOP的基本单元,由于维护一个对象需要很大的代价,所以设计一个对象也需要谨慎。按照中国教科书的习惯,一般要把这个问题分解为对象的合理性、正确性和完整性。在这里我不想把人搞糊涂也不想把我搞糊涂,我只是提对象的完整性。当然也借鉴了牛人布鲁克斯的术语,他在《人月神话》里对系统概念的完整性推崇倍至。对象的完整性,从正面的角度来说,就是指对象的函数接口是完备的;从反面的角度来说,就是不原创 2005-12-14 10:25:00 · 1265 阅读 · 0 评论 -
正反馈算法
正反馈算法 我最近设计了一个这样的算法:有一个算法的总体框架,抽象了共同的部分;把各个差异的部分放在具体的类里面实现。具体的子类要实现好多的特殊情况,有的情况很罕见,有的情况很常见;但是为了正确,必须涵盖所有的情况。具体的代码类似下面:templateclass ConcreteClass>bool wholeAlgo(ConcreteClass& cc){ init(); while(cc原创 2005-12-26 22:32:00 · 2076 阅读 · 0 评论 -
编程语言的终极梦想
相对于C语言, C++语言更加灵活, 因为它是一种OOP的语言. C#更加灵活, 因为它还支持垃圾回收, 定制属性, 匿名方法. Ruby语言是一种动态语言, 它比C#更加的灵活. 每一种语言都有自己的特点, 这也是它们如今仍然继续存在的原因. 微软在.Net体系下面定义了IL中间语言, 从而把各种使用.Net兼容的语言编写的代码之间可以相互的调用. 对于程序员来说原创 2006-02-13 17:43:00 · 3268 阅读 · 0 评论 -
类成员变量的命名
在类的成员函数当中,可能需要访问两种类型的变量, 局部变量和成员变量, 例如:class MyClass{ private int m_var; //成员变量命名方式1 private int _var1; //成员变量命名方式2 private int var2_; //成员变量命名方式3 void someFunc (int var){ int local = 10; if(local原创 2006-02-16 10:49:00 · 7408 阅读 · 0 评论 -
C++ Java C#的比较-成员归属权的表示
标题:成员归属权的表示 成员归属权的表示的简洁性 优劣比较原创 2006-02-27 23:21:00 · 3086 阅读 · 0 评论 -
C++ Java C#的比较-命名空间
标题:命名空间 支持多范型编程 引用的简洁性原创 2006-02-27 00:28:00 · 4476 阅读 · 0 评论 -
中国计算机水平低是因为工程水平差
前几天在计算所听工程中心主任的报告,主任的一句话给我的印象非常的申:中国计算机水平差,在很大的程度上不是计算机的理论水平比较低,而是计算机的工程水平比较差。换个说法,就是说中国的计算机理论知识还不错,但是计算机的技术水平比较低。也就是说,中国很难生产高质量的计算机软硬件。 我自己也很有这方面的感觉。现在计算机本身的理论已经相对比较成熟了,但是在目前的水平原创 2006-09-07 21:40:00 · 3448 阅读 · 0 评论 -
Architecture & Framework
Architecture不是软件,是关于软件如何设计的重要决策Architecture不关心所有的决策,而只是关心其中的重要决策:即关系各个部分(模块)的静态关系(功能划分)和动态关系(模块交互)Architecture所要求的原则和决策会体现在Framework当中 Framework不是一个运行系统,而是系统所依赖的一个编码约束(基类和子类)和算法实现(函数调用)的集合Frame原创 2008-02-22 14:41:00 · 2967 阅读 · 0 评论