当前位置: 首页 > 图文教程 > 开发语言 > VC++ > 程序风格的要素-C++风格指南

VC++
在类VC的界面实现中加入目录树
软件换肤技术在 BCB 中的实现
利用非模窗口生成MDI介面
报表输出轻松搞定
Windows 中不规则窗体的编程实现
解说Win32的窗口子类化
使用测试优先方法开发用户界面
一个简单的登录对话框的实现
一个简单的日记本程序
从资源中加载皮肤
一个在RichEdit中添加表情图象的类
ActiveSkin 4.3 软件换肤在VC中的实现
一种另类“关于(About)”对话框的动态显示方法
对话框打印预览及打印
关于如何换肤、子类化的解决方案
制作 MSN、QQ 的消息提示窗口
如何对 BCGControlBarPro 进行换肤
定制个性化的对话框窗口类
改变窗口中的光标形状
更新MFC中的视图,跟踪.NET Framework中的事件

VC++ 中的 程序风格的要素-C++风格指南


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 45 ::
收藏到网摘: n/a

程序风格的要素-C++风格指南

原著:Neill Kipp
翻译:Panic
2005年3月30日

译者序:这是一篇写于1996年1月23日的文章,到现在已经有9个年头了,很陈旧,有可能跟不上形势,但是有些东西仍然值得现在的开发者学习,我翻译这篇文字仅供读者参考。

原文链接:http://www.gamedev.net/reference/articles/article708.asp

文件
  头文件有".h"后缀。头文件包含类(class),结构(struct),和联合(union)的声明,枚举(enum)的声明,#define,typedef。
  实现文件有一个".cc" (UNIX) 或者".cpp" (Windows, DOS)后缀。实现文件包括函数和方法的实现。
  在头文件和源代码文件中安排一个页眉。页眉可以包含标题,作者,日期,和一些工程的信息,比如这个文件是配合整个工程的。

一些名字

通用C++字符的名字:
(注:这些都是符号的英文原名,目前并没有完全标准化的汉语词汇对应,所以后面的翻译只是个人建议)

{open brace, open curly 左花括号
}close brace, close curly 右花括号
(open parenthesis, open paren 左圆括号
)close parenthesis, close paren 右圆括号
[open bracket 左方括号
]close bracket 右方括号
.period, dot 句号,点
!exclamation point, bang, not 叹号,否
|bar, vertical-bar, or, or-bar (actually a "vertical virgule") 竖线,按位或
&ampersand, and, reference, ref 和,按位与,引用,取地址
*asterisk, multiply, star, pointer 星号,乘号,星,指针
/slash, divide 斜线,除号
//slash-slash, comment 双斜线,注释符
#pound 井号 (宏:#,参考 把符号转化为字符串的宏技巧 )
\backslash, (sometimes "escape") 反斜线,(有时候做转义符)(还有一个:续行符)
~tilde 按位取反

基本类型 "char" 通常发音是"charcoal."的首音节。有时念作 "care" 或者 "car."

名字和排版

命名约定的名字
  • interspersed_underscores 中间下划线
  • lowercaseMixedCapital 小写混合(首字母)大写;
  • CapitalMixedCapital (首字母)大写混合(首字母)大写;
  • ALL_UPPERCASE 全部大写

命名约定的应用

  • enumeration_item_name 枚举,小写加下划线;
  • variableName 变量,小写前缀加首字母大写后缀;
  • TypeName, ClassName, MethodName() 类型名,类名,方法名,首字母大写前后缀;
  • UnixFileName.cc Unix/Linux文件名:每个单词首字母大写;
  • dosfn.cpp windows/dos文件名:全部小写;
  • POUND_DEFINES 宏定义,全部大写;

自成档代码(也就是没有文档,仅靠注释和代码说明的源代码文件

  • 程序中为每个名字使用完整拼写.

避免直接使用数字(Magic number)

  • 不允许出现除了0(有时也包括1)之外的数字常量. 使用常变量或者宏定义(#defines).

空白

  • 空格(按空格键得到) ;
  • 新行(按回车键得到) ;
  • 制表符(tab) (用8个空格代替) ;

空白和排版

  • 左花括号之后, 每行缩进4个空格直到对应的右花括号出现.;
  • 如果if, while, 或 for 后面没有跟花括号, 下一行缩进两个空格;
  • 冒号结尾的语句,反向缩进两个空格(public, case);
  • 保留字(if, else, class, struct) 前后要加1个空格除非已经因为新行或者特殊标点做了缩进;
  • 运算符和比较符前后要有一个空格 (除了!之外);
  • 指针变量 (&,*) 声明的时候要前后加一个空格;
  • 指针变量 (&,*) 在表达式中,前面(不是