主要将了关于编程方面的美学。
- 布局的基本概念
- 布局的好坏
- 极其糟糕:public class Main{public static void main(String[] argv){System.out.println("test");}}
- 一般糟糕
- 良好
- 格式的基本理论
- 好的格式能展示程序的逻辑结构
- 人看到的代码和计算机看到的代码是完全不一样的
- 好布局能带来多少好处
- 能提高可读性
- 布局是个人习惯问题
- 好布局的目标
- 准确地展示程序的逻辑结构
- 统一地展示程序的逻辑结构
- 提高代码的可读性
- 能经得起修改
- 如何使用这些准则?
- 关注不同的方面会得出不同的结论
- 布局的好坏
- 布局的具体做法
- 使用空白:空格 tab 换行 空白行
- 括号
- 布局的风格
- 纯代码块
- xxxxxxxxxxx
- xxxxxxx
- xxxxxxxx
- xxxx
- 模拟纯代码块
- xxxxxxxxxxx {
- xxxxxxx
- xxxxx
- }
- 使用开始结束符号来界定代码块
- xxxxxxxxxx {
- xxxxxx
- xxxxxxxxxxx
- }
- 底线布局
- xxxx xxxxxxxx
- xxxx
- xxxxxxxxxxxxx
- xxx
- 不适合多个if嵌套的情况
- 哪种布局最好?第一种,纯代码块
- 纯代码块
- “控制结构”的布局
- 几点建议
- 不要在for和{之间添加一行注释,破坏布局
- xxxxxxxxxx
- xxxxxx
- xxxxxxx
- xxxxxx
- xxxxx
- 不要双重缩进:
- for(xxxxxxxxxxx)
- {
- xxxxxx
- xxxxxxxx
- }
- 其他
- 大量的赋值语句最好用空白行进行分组
- 不要用goto,无法表现出良好的结构
- 不要在for和{之间添加一行注释,破坏布局
- 单行语句的布局
- 语句长度:80个字符
- 无法阅读
- 容易造成深度嵌套
- 打印时必须换行
- 使用空格来增加可读性
- 括号两边、操作符两边都增加空格
- 格式化跨行语句
- 将操作符放在一行末尾
- 将操作符放在一行最前
- 参数列表太长时,最好一行一个参数
- 一行最好只放一条语句
- C++中不要在一行语句中出现多个++ +=之类的操作
- 变量的定义
- 不要在一行中定义多个变量
- 在变量用到的时候再定义
- C++中将指针的*号放在名称之前
- 语句长度:80个字符
- 注释的布局
- 不能破坏整体布局,缩进要和普通代码保持一致
- 注释的上面一行最好是空白行,下面一行紧跟着代码
-
- // aaaaaaaaaaaaaaa
- xxxxxxxxxxx
- xxxxxx
- // aaaaaaaaaaaaaaaaa
- xxxxxxxxxxxx
- xxxxxxxxxxxxxxxx
- 函数/方法的布局
- 这种方式很难维护
- bool foo(int a,
- int b,
- int c)
- 这种方式比较实用
- bool foo(
- int a,
- int b,
- int c)
- 这种方式很难维护
- 类的布局
- 接口的布局
- 注释,描述类的作用和用法
- 构造函数,析构函数
- public方法
- protected方法
- private方法
- 实现的布局
- 注释,解释类的内容
- 成员变量
- public方法
- protected方法
- private方法
- 过度布局
- 注释中充满 /***************************************/
- 强调了所有的注释等于没有强调
- 应该是能出现少了 /*****/,剩余的应该用//------------
- 接口的布局
- 文件和程序的布局
- 最好一个文件放置一个类
- 方法和方法之间最好有3个空白行
- C++代码的布局
- 注释,描述文件内容
- #include文件
- 常数定义
- enum定义
- 宏定义
- 宏函数定义
- 类型定义
- 全局变量/函数导入
- 全局变量/函数导出
- 类定义
- 几点建议