browser icon
You are using an insecure version of your web browser. Please update your browser!
Using an outdated browser makes your computer unsafe. For a safer, faster, more enjoyable user experience, please update your browser today or try a newer browser.

对号入座

Posted by on 2007 年 03 月 01 日

你可以任意转载本文,但请在转载后的文章中注明作者和原始链接。
媒体约稿请联系 titilima_AT_163.com(把“_AT_”换成“@”)。

看到CSDN转载的一篇贴子,于是乎兴起,把自己的C++流派对号入座了一下。

> 1. 经典C++流:类是核心,例程多用C Runtime的,很少用模版,一般是正统教育的结果。

既然这个世界都能用类抽象出来,所以我的代码亦自然以类为中心。

> 2. 古典C流:基本上当C用,偶尔用用对象,不使用异常,喜欢怀旧。

我是前说过,我总试图从流程逻辑的层面去避免异常,而且迄今为止做得似乎很成功,所以更加助长了这种病态心理。

> 3. MFC流:秉承MFC的风格,主要使用MFC/ATL对象和Win32 API,不喜欢STL,用很多的宏把IDE的语法提示模块折磨到崩溃。

总是优先选择CreateFile,而不是fopen或ifstream/ofstream。

> 4. Portable流:以C Runtime和STL为主要工具,使用类和模版,不跨平台毋宁死。

冇错,非常青睐STL。

> 5. Functional流:以模版和STL为主要武器,大量使用函数式语言的设计方法,并号称这才是真正的C++。

这一流的描述和上一流有交集。

> 6. Win32流:多使用全局函数,偏爱Win32 API,但不排斥C Runtime,通常喜欢轻量级的程序,所以身材也比较苗条。

标准的Win32程序员,自是很有体现。此外,非常喜欢CRT文件的读行操作。

> 7. Java流:全面使用Java的风格,不能容许任何全局成员,但允许使用STL的集合类,写很多叫Factory的类。

亦不喜欢全局成员,如果不能避免的话则使用static member + singleton代替之。

> 8. COM流:喜欢AddRef()和Release(),大量使用接口,隐藏一切可以隐藏的东西,诵经的时候要把上帝替换成COM。

喜欢定义ISomeInterface并为之实现CSomeInterfaceImpl。

> 9. 戒律流:追求完美的C++程序,计较每一个const和throw(),极力避免不安全的cast,随身一定要带一本ISO C++手册。

努力使用XXX_cast代替C style conversion中。

> 10. 混沌流:其程序无常形,无恒道,变幻莫测,吾不知其名。

惟有此一点找不到丝毫能够对号入座的地方——但话说回来,道之为物,本就是有无相生的(参见《道德经》第二章)。

订阅本站

3 Comments

  • At 2007.03.01 12:14, z said:

    似乎没有一项俺可以完全对应的,看来经过Symbian的变态,俺已经不入流了。
    PS:严厉BS MFC流,严厉BS大量使用宏!

    • At 2007.03.02 09:36, yayu said:

      宏定义的是全局变量吧,很好用滴

      • At 2007.03.02 10:43, 李马 said:

        To z:
        Symbian的流派风格的确十分怪异。
        To yayu:
        宏定义的并非变量,只是编译期的文本替换。

        (Required)
        (Required, will not be published)