天下武功有流派,各位猴子们也各有风格。
1) 古典C流派 -- 把C++当C用,偶尔用用对象,很少使用到异常,喜欢怀旧。
2) 经典C++流派 -- 以类为核心,例程多用C Runtime的,很少用模版,很多是大学教育的结果。
3) Portable流派 -- 以C Runtime和STL为主要工具,使用类和模版,不跨平台毋宁死。
4) MFC流派 -- 秉承MFC的风格,主要使用MFC/ATL对象和Win32 API,不喜欢STL,用很多的宏把IDE的语法提示模块折磨到崩溃。
5) Functional流派 -- 以模版和STL为主要武器,大量使用函数式语言的设计方法,并号称这才是真正的C++。
6) Win32流派 -- 多使用全局函数,偏爱Win32 API,但不排斥C Runtime,通常喜欢轻量级的程序,所以身材也比较苗条。
7) Java流派 -- 全面使用Java的风格,不能容许任何全局成员,但允许使用STL的集合类,写很多叫Factory的类。
8) COM流派 -- 喜欢AddRef()和Release(),大量使用接口,隐藏一切可以隐藏的东西,诵经的时候要把上帝替换成COM。
9) 戒律流派 -- 追求完美的C++程序,计较每一个const和throw(),极力避免不安全的cast,随身一定要带一本ISO C++手册。
10) 混沌流派 -- 其程序无常形,无恒道,变幻莫测,吾不知其名。
笔者不把任何猴子标签化,每一个能写出高效简洁好维护的代码的猴子都是好猿。