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

2016-01-29 12:26 6 1 收藏

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

【 tulaoshi.com - C语言心得技巧 】

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

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

译者序:这是一篇写于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个空格代替) ;

空白和排版

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

来源:http://www.tulaoshi.com/n/20160129/1486111.html

延伸阅读
在一些论坛上经常会看到一些各语言的优劣比较,知道自己所学语言的优劣也好,但是假如一味停留在这个层面就没有用了。任何语言都只是工具而已。重要的是使用工具的人!就我个人的经验来讲,真正处于业界搞开发的人都愿意使用成熟的、为自己所熟知的技术来完成工作。 !-- frame contents -- !-- /frame contents -- 而新手都喜欢用一...
曾听人说过这么一句话,通过一个程序员的编程风格,可以看出这个程序员有没有大量阅读和撰写程序的经验。虽不能这样一概而论,但多少可以看出编程风格的重要性。我这里说的编程风格,没有包括具体的编程思想等等,仅指的是撰写风格,也就是视觉上的风格。 也许有人会不太明白或者不肖一顾,写程序就写程序嘛,写出来的程序能正确有效...
第7章 内存治理 欢迎进入内存这片雷区。伟大的Bill Gates 曾经失言: 640K ought to be enough for everybody — Bill Gates 1981 程序员们经常编写内存治理程序,往往提心吊胆。假如不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本章的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地...
常量是一种标识符,它的值在运行期间恒定不变。C语言用 #define来定义常量(称为宏常量)。C++ 语言除了 #define外还可以用const来定义常量(称为const常量)。 5.1 为什么需要常量 如果不使用常量,直接在程序中填写数字或字符串,将会有什么麻烦? (1) 程序的可读性(可理解性)变差。程序员自己会忘记那些数字或...
1. 用Microsoft Visual C++ 6.0编译的程序,或者发布在Windows 2000/NT/ME/98 系统 单纯通过拷贝MSVCRxx.DLL文件到应用程序目录或system32目录即可 2. 用Visual Studio 2005以上编译的程序,且发布在Windows XP及以上系统 为了减少DLL引发的配置问题(DLL hell),C和C++运行时由并行 (Side-by-Side) 程序集实现,单纯通过拷贝MSVCRxx.DLL并不...

经验教程

682

收藏

42
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部