编程规范

程序的版式:在每个类声明之后,每个函数定义结束之后都要加空行,

                         逻辑上密切相关的语句之间不加空行,其他地方应该加空行;


代码行:1、一行代码做一件事;

                2、 if、for、while、do等语句自占一行,执行语句不得紧跟其后,不论执行多少语句都要加{}

                3、尽可能在定义变量的同时初始化该变量

                4、关键字之后要留空格。象const、virtual、inline、case 等关键字之后至少要留一个空格,否则无法辨析关键字。

                5、象if、for、while等关键字之后应留一个空格再跟左括号‘(’,以突出关键字

                6、函数名之后不要留空格,紧跟左括号‘(’,以与关键字区别。

                7、程序的分界符‘{’和‘}’应独占一行并且位于同一列,同时与引用它们的语句左对齐。

                8、 应当将修饰符 * 和& 紧靠变量名                                                                                                                                                                                                                                                          9、注释的位置应与被描述的代码相邻,可以放在代码的上方或右方,不可放在下方;

 命名规则:

               1、标识符应当直观可以拼读,可望文知义(采用单词或者组合)

               2、标识符的长度应当符合“min-length”和“max-information”

               3、命名规则尽量与采用的操作系统或开发工具风格一致

               4、变量的名字应当使用“名词”或者“形容词+名词”

               5、全局函数的名字应当使用“动词”或者“动词+名词”,类的成员函数应当只使用“动词”,被省略的名词就是对象本身。


表达式和基本语句:

              1、注意一元运算符 + - * 的优先级高于对应的二元运算符。

              2、在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数。                                                                                                                                                                                                                                                                                                                                                                                                                  3、 不可在for 循环体内修改循环变量,防止for 循环失去控制。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            函数设计:

              1、参数的书写要完整,不要贪图省事只写参数的类型而省略参数名字。

              2、参数命名要恰当,顺序要合理。

              3、如果参数是指针,且仅作输入用,则应在类型前加const,以防止该指针在函数体内被意外修改。

              4、如果输入参数以值传递的方式传递对象,则宜改用“const &”方式来传递,这样可以省去临时对象的构造和析构过程,从而提高效率。

              5、函数名字与返回值类型在语义上不可冲突。

              6、不要将正常值和错误标志混在一起返回。正常值用输出参数获得,而错误标志用return语句返回。

              7、引用的主要功能是传递函数的参数和返回值

内存分配方式有三种:
(1)
从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。
(2)
在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。
(3)
从堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用free或delete释放内存。动态内存的生存期由我们决定,使用非常灵活,但问题也最多。



释放了内存却继续使用它。
有三种情况:
(1)程序中的对象调用关系过于复杂,实在难以搞清楚某个对象究竟是否已经释放了内存,此时应该重新设计数据结构,从根本上解决对象管理的混乱局面。
(2)函数的return语句写错了,注意不要返回指向“栈内存”的“指针”或者“引用”,因为该内存在函数体结束时被自动销毁。
(3)使用free或delete释放了内存后,没有将指针设置为NULL。导致产生“野指针”。                  


                                                                                                                                         

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值