zoukankan      html  css  js  c++  java
  • C++基础 学习笔记一:源代码的格式化

    C++基础 学习笔记一:源代码的格式化

    1. 源代码中的标记与空白

    C++中的语句是以分号表示语句的结束。在C++中空格和回车以及制表符均为相同作用,即三者通常可以互相替代。

    例如可以将一个简单的main函数这样写:

    int main(){cout<<endl;return 0;}
    

    也可以这样写:

    int main
    
    ()               {cout
    
    <<
    
    endl;return
    
     0;}
    

    都可以通过编译。

    空白

    空格和回车以及制表符统称为空白

    标记

    代码中不可分割的元素叫做标记,标记与标记之间需要用空白分开(括号,分号,逗号等符号可以不用分开)。

    2. 源代码格式化(仅供参考)

    上面的两个例子均可通过编译但是可读性不强,为了便于阅读需要遵循合理的风格,命名规则。

    风格规范

    1. 每条语句尽量占一行,对于过于长的语句可以将语句用换行符切割成易读的较短的代码行。
    2. 每个函数都将花括号独占一行
    3. 函数的语句都要对函数体进行层级相对缩进。
    4. 函数的括号和函数名在同一行,参数过长要保持左括号与函数名再同一行。
    5. 空循环体可以用 continue;代替。
    6. 合理运用行注释和块注释

    命名规则

    1. 类名首字母大写,名称为名词
    2. 方法(函数)名建议用动词命名首字母小写
    3. 变量名全部用小写
    4. 整个项目都遵循一种命名规则

    命名规则推荐

    没有一种命名规则是所有人都赞同的,但是有一些著名的命名规则现罗列在此。

    1. 匈牙利命名法

      ​ 匈牙利命名法是由Microsoft程序员查尔斯·西蒙尼(Charles Simonyi) 提出的。其主要思想是“在变量和函数名中加入 前缀以增进人们对程序的理解。

      • 匈牙利命名法关键:

        ​ 标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合, 该单词要指明变量的用途,但这种命名法对于跨平台移植简直是灾难 。

      • 形式如下:

        ​ 全局变量名=范围前缀+下划线+类型前缀+数组前缀+自定义命名

        ​ 局部变量名=类型前缀+数组前缀+自定义命名

        ​ 函数命名=类型前缀+自定义命名

        ​ 控件命名=控件前缀+自定义命名

        ​ 控件事件命名=控件名称+下划线+事件名称

        ​ 程序文件命名=模块名缩写+自定义命名

      • 特点:

        ​ 含义明确,便于程序维护、提高工作效率,但是繁琐。

      基本原则

      ​ 变量名=属性+类型+对象描述。

      1. 属性:

        全局变量 g_ 常量 c_
        类成员变量 m_ 静态变量 s_
      2. 类型部分

        指针 p 函数 fn
        句柄 h 长整型 l
        布尔 b 浮点型(有时也指文件) f
        双字 w 字符串 sz
        短整型 n 双精度浮点 d
        计数 c(通常用cnt) 字符 ch(通常用c)
        整形 i(通常用n) 字节 by
        w 实型 r
        无符号 u
      3. 描述部分

        最大 Max 最小 Min
        初始化 Init 临时变量 T(或Temp)
        源对象 Src 目的对象 Dest
      4. 举例:

        • hwnd :

          ​ h 是类型描述,表示句柄, wnd 是变量对象描述,表示窗口,所以 hwnd 表示窗口句柄;

        • pfnEatApple :

          ​ pfn 是类型描述,表示指向函数的指针, EatApple 是变量对象描述,所以它表示指向 EatApple 函数的函 数指针变量。

        • g_cch :

          ​ g_ 是属性描述,表示全局变量,c 和 ch 分别是计数类型和字符类型,一起表示变量类型,这里忽略了对 象描述,所以它表示一个对字符进行计数的全局变量。

    2. **骆驼(Camel)命名法 **

      ​ 骆驼式命名法(Camel-Case)一词来自 Perl 语言中普遍使用的大小写混合格式,而 Larry Wall 等人所著的畅销书 《Programming Perl》的封面图片正是一匹骆驼。 骆驼式命名法的命名规则可视为一种惯例,并无绝对与强制,为 的是增加识别和可读性。

      驼峰法(小驼峰法)

      ​ 变量一般用小驼峰法标识。驼峰法的意思是除第一个单词之外,其他单词首字母大写。常用于函数名。

      Pascal法(大驼峰法)

        相比小驼峰法,大驼峰法把第一个单词的首字母也大写了。常用于类名,属性,命名空间等

    3. 下划线命名法

      ​ 下划线法是随着C语言的出现流行起来的,在UNIX/LIUNX这样的环境,以及GNU代码中使用非常普遍,用小写字 母和下划线来构成变量或函数名,每个逻辑断点处用下划线来标记。

  • 相关阅读:
    Mongodb 集群加keyFile认证
    MongoDB 3.0 常见集群的搭建(主从复制,副本集,分片....)
    JVM的垃圾回收机制详解和调优
    深入Java核心 Java内存分配原理精讲
    PLSQL Developer win7 64位 安装方法
    nginx作为负载均衡服务器——测试
    Nginx负载均衡配置
    nginx集群报错“upstream”directive is not allow here 错误
    Nginx反向代理和负载均衡——个人配置
    Quartz集群配置
  • 原文地址:https://www.cnblogs.com/realZhaZhaHui/p/12527666.html
Copyright © 2011-2022 走看看