读书笔记_高质量程序设计指南C++/C语言_10_文件结构和版式
来源:互联网 发布:美微网络柠檬视频tv 编辑:程序博客网 时间:2024/06/05 20:56
看代码如看散文
10.1 程序文件的目录结构
良好的目录结构可以方便开发和维护。
工程开发目录结构例:
- Include(头文件)
- Source(源文件)
- Shard(共享文件)
- Resource(资源文件)
- Debug(调试版本生成的中间文件)
- Release(发行版本生成的中间文件)
- Bin(程序员自己创建的lib文件和dll文件)
- 其他的临时文件、数据文件、配置文件、DLL等。
10.2 文件的结构
编译预处理时候,#include”.h“将被.h文件中的内容取代。
编译单元:预编译时将每一个包含的头文件递归的展开后形成的源文件。
10.2.1 头文件结构
头文件中的元素较多,其结构应安排如下:
- 头文件注释(包括文件说明、功能描述、版权声明)(必须);
- 内部包含卫哨开始(#ifndef XXXX/#define xxxx) (必须);
- #include其他头文件;
- 外部变量和全局函数声明;
- 常量和宏定义;
- 类型前置声明和定义;
- 全局函数的原型和内联函数的定义;
- 内部包含卫哨结束:#endef //XXX(必须);
- 文件版本及修改说明。
10.2.2 版权和版本信息
版权和版本信息的主要内容:
- 版权信息
- 文件名称、简要描述、创建日期和作者
- 当前版本信息和说明
- 历史版本信息和修订说明
10.2.3 源文件结构
C和C++源文件主要保存函数的实现和类的实现,其结构一般如下:
- 源文件注释(文件说明、功能描述、版权声明灯)
- 预处理指令
- 常量和宏定义
- 外部变量声明和全局变量的定义和初始化
- 成员函数和全局函数的定义
- 文件修改记录
10.3代码的板式
10.3.1 空行的合理使用
- ADT/UDT定义之间要留空行。ADT内部的各个访问段(public、private等)之间需要留空行;段内内容按相关性分组,建议在各组之间留空行。
- 函数定义之间留空行。在函数体内,完整的控制结构及单独的语句块之间分别留出空行;逻辑上密切相关的块之间不要加空行;最后一条return语句前要留空行。
- 注释行和注释块与被他们注释的程序元素之间不要留空行。
10.3.2 代码行及行内空格
- 一行代码做一件事,定义一个变量货只写一条语句
- if、elseif、for、do、while等语句各自占用一行;不管语句中有多少句,必须用 { } 括起来
- 局部变量在定义的同时应当初始化,最好在同一行内初始化。
- 关键字之后留空格(const、 virtual、 inline、 case)。if、elseif等后面空一格再加“(”。
- ”,“和”;“后面加空格,如f(x, y, z)。
10.3.3 长行拆分
长表达式要在低优先级运算符处拆分为多行。运算符放于新行之首,使用缩进对齐。常见的有二元运算符、输入输出运算符、函数的形参列表等。
10.3.4
建议修饰符*和&紧靠变量名,或使用typedef做一个类型映射。
int *x,y;
typedef int* PINT;typedef int& RINT;PINT p1,pw;RINT r1=i,r2=j;
10.3.5 注释风格
注释用途:
- 版本、版权声明
- 函数接口说明
- 重要的代码行或段落提示
- 注释是对代码的“提示”,而不是文档,不能宣兵夺主,不要眼花缭乱。
- 如果代码很清楚,请不要加注释。
- 边写代码边注释,修改代码同时需要修改注释,以保证代码和注释的一致性。
- 删除没有用的注释。注释应当准确、易懂、无二义性。
- 注释的位置应与被描述代码相邻。可以上方和右方,不能下方。
/********************函数名称:*功能描述:*参数列表:*返回结构:*******************/*
对于ADT/UDT建议采用“以行为为中心”的方式来编写类。首先应考虑提供什么样的接口,使设计者思路清晰。并且用户最关心是接口。
0 0
- 读书笔记_高质量程序设计指南C++/C语言_10_文件结构和版式
- 读书笔记_高质量程序设计指南C++/C语言_11_应用程序命名规则
- 高质量程序设计指南C++/c语言读书笔记 第一章
- 高质量程序设计指南:C++/C语言
- 读书笔记-高质量C++/C编程指南-第2章 程序的版式
- 高质量C++/C编程指南_读书笔记1
- 高质量C/C++编程指南--程序版式
- 《高质量程序设计指南---C++/C语言》 下载
- 《高质量程序设计指南:C++/C语言》图书信息
- 《高质量程序设计指南:C++/C语言》面试题整理
- 《高质量程序设计指南:C++/C语言》 林锐
- 《高质量程序设计指南---C++/C语言》 林锐、韩永泉
- 高质量程序设计指南C++/c语言 第二章
- 高质量程序设计指南C++/c语言 第三章
- 高质量程序设计指南C++/c语言 第四章
- 读书笔记-高质量C++/C编程指南-第1章 文件结构
- 《高质量程序设计指南——C/C++》第10章程序版式&第11章命名规则
- 高质量程序设计指南-c/c++语言:笔记1
- Android ViewPager无限滑动(支持左右,存在传入数量限制)方式二
- HDU 5385
- 应用程序的makefile编写例程
- 2015.08.13
- foj Problem 1894 志愿者选拔---单调队列
- 读书笔记_高质量程序设计指南C++/C语言_10_文件结构和版式
- linux 设备模型(二 driver)
- 黑马程序员———API之Object、String和Scanner
- 倒立三角形
- noip1997 棋盘 (数列求和)
- SDL事件查询函数:SDL_PeepEvents()
- 清汤的重要启示
- 《STL源码剖析》--next_permutation函数
- JAVA开篇——思路与工具