C++编程风格有感

前几天接手了一个同事的编写的功能模块,模块的功能很简单,但是我接手的时候完全看不懂他写的是什么东西,我要挨个挨个地方去问,这样导致效率十分低下,即浪费我的时间也浪费他的时间,导致双方情绪都很烦。

这里记录一下我的心得。

1.程序的简洁化。

    可能很多同学刚出道的时候不习惯函数,直接一个main函数执行所有逻辑和代码,确实我也这样做个,但是后来我再去看我的程序的时候都不知道我自己写的是啥,完全懵逼了。

    多使用功能函数会提高代码的可读性,函数命名一般是根据函数要实现的功能进行命名,当然风格就看你自己喜欢了,但是多说一句一定要保持自己的风格,这样对自身的成长很有帮助。

    函数中的代码一般不超过100行左右,也就是差不多一屏多一点,这样每个函数审查功能的时候就会很容易理清,不会上下翻动而烦恼。

    好处:多使用函数,提高代码的可读性,程序逻辑层次清楚,容易调试与检测错误。

2.头文件的添加

    为什么要说头文件啊,很多时候大家会遇见头文件找不到的情况,无论是自己写的头文件还是库的头文件。

    再添加头文件的时候,先添加库文件,也就是说我们使用的一般头文件,然后隔两行再添加我们自己新增的头文件,在我们自己写的头文件中一定不要带有域或者空间的使用,也就是using namespace这种,这样会容易污染其他的cpp文件或者冲突,最好是将这种写在某个需要的cpp文件中,各个头文件链接路径一定要准确,编译的时候最好是加上路径(除了系统库函数)。

    好处:分清头文件,代码美观。

3.注释注释注释

    一个cpp和.h文件没有一行注释,在我看来不是一个合格的程序员,同时这个代码我会认为是一个垃圾代码。

    一般来说代码的可读性,不说其他的,至少让不懂得人看明白你要干什么,这样的代码才有可读性。注释尤为重要,无论你是英文的还是中文的,至少在你认为的最关键的地方要写清楚注释,让人明白为什么这样做。这样在其他人接手的时候才能容易的明白你代码编写的目的或者功能(函数功能也要有注释)。

    代码的注释让人看起来愉悦,无论你代码写的如何,你的代码是否错误,有了注释,一看就知道这行代码是要干什么,如果出错了也会很快修改。优化的时候注释尤为重要,清楚逻辑,是优化的关键,有了注释,在以后维护优化的时候会轻松很多。

    最好告诫一下年轻人,代码要有注释啊,不然谁看的懂,浪费时间。

    好处:提高可读性,美观,辅助修改和优化,节省维护成本。

4.变量的使用

    一个函数中最不可缺少的就是变量,可是这个变量有时候用法也会有讲究,你不能乱用,乱用是会出大问题的,段错误常见吧,变量值突然改变常见吧,等等一些问题,要怎样避免这样问题呢?很简单,多用局部变量,少用全局变量,多用栈少用堆(即少new,delete,malloc ,free),多用临时变量少用静态变量(除非你需要只初始化一次,要多次使用)。

    变量命名一定要有讲究和规范,具体啥规范一般公司都会有,你可以参考一下,最好是有注释,明白你这个变量是干什么的。在使用的时候千万别用作他途,这样容易误导人也很容易出错,最好是自己再申请一个,反正局部变量不要钱(用完就释放了)。

    好处:代码逻辑清楚,变量使用明确,减少错误的发生。

5.多思考

    很多时候大家工作的时候,都是先完成代码,在完成的过程中边思考边写程序,这样的习惯不是说不好,只是说如果你不是一个资深的工程师最好不要这样做,因为这样做的后果是代码质量不佳,错误多,考虑情况不清楚,兼容性不好等一系列代码质量问题。

    所以,我们在进行工作之前,首先做的是思考,要怎样做,怎么做,其中会有哪些问题,有哪些解决方式,用什么函数,或者可以用什么函数,用什么工具,什么语言等等,等你思考完这些,你再进行工作的时候,你会轻松很多,就算遇到什么问题也能在很短的时间有好的方法进行解决,也会节省很多时间。

    好处:节约时间,工作效率高,产品质量高

总结:多思考,注意风格,多注释,少错误,向天借剑。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前 言 ....................................................................................................................................6 第 1 章 文件结构............................................................................................................... 11 1.1 版权和版本的声明................................................................................................... 11 1.2 头文件的结构 ..........................................................................................................12 1.3 定义文件的结构.......................................................................................................13 1.4 头文件的作用 ..........................................................................................................13 1.5 目录结构 ..................................................................................................................14 第 2 章 程序的版式 ...........................................................................................................15 2.1 空行..........................................................................................................................15 2.2 代码行......................................................................................................................16 2.3 代码行内的空格.......................................................................................................17 2.4 对齐..........................................................................................................................18 2.5 长行拆分 ..................................................................................................................19 2.6 修饰符的位置 ..........................................................................................................19 2.7 注释..........................................................................................................................20 2.8 类的版式 ..................................................................................................................21 第 3 章 命名规则...............................................................................................................22 3.1 共性规则 ..................................................................................................................22 3.2 简单的 WINDOWS 应用程序命名规则......................................................................23 3.3 简单的 UNIX 应用程序命名规则..............................................................................25 第 4 章 表达式和基本语句................................................................................................26 4.1 运算符的优先级.......................................................................................................26 4.2 复合表达式 ..............................................................................................................27 4.3 IF 语句 ......................................................................................................................27 4.4 循环语句的效率.......................................................................................................29 4.5 FOR 语句的循环控制变量 ........................................................................................30 4.6 SWITCH 语句 ..............................................................................................................30 4.7 GOTO 语句 .................................................................................................................31 第 5 章 常量.......................................................................................................................33 5.1 为什么需要常量.......................................................................................................33 5.2 CONST 与 #DEFINE 的比较 ........................................................................................33 5.3 常量定义规则 ..........................................................................................................33 5.4 类中的常量 ..............................................................................................................34 第 6 章 函数设计...............................................................................................................36 高质量 C++/C 编程指南,v 1.0 2001 Page 4 of 4 6.1 参数的规则 ..............................................................................................................36 6.2 返回值的规则 ..........................................................................................................37 6.3 函数内部实现的规则 ...............................................................................................39 6.4 其它建议 ..................................................................................................................40 6.5 使用断言 ..................................................................................................................41 6.6 引用与指针的比较...................................................................................................42 第 7 章 内存管理...............................................................................................................44 7.1 内存分配方式 ...........................................................................................................44 7.2 常见的内存错误及其对策 ........................................................................................44 7.3 指针与数组的对比....................................................................................................45 7.4 指针参数是如何传递内存的?.................................................................................47 7.5 FREE 和 DELETE 把指针怎么啦? ..............................................................................50 7.6 动态内存会被自动释放吗?....................................................................................50 7.7 杜绝“野指针”.......................................................................................................51 7.8 有了 MALLOC/FREE 为什么还要 NEW/DELETE ? .....................................................52 7.9 内存耗尽怎么办?...................................................................................................53 7.10 MALLOC/FREE 的使用要点 ......................................................................................54 7.11 NEW/DELETE 的使用要点 ........................................................................................55 7.12 一些心得体会.........................................................................................................56 第 8 章 C++函数的高级特性 ............................................................................................57 8.1 函数重载的概念.......................................................................................................57 8.2 成员函数的重载、覆盖与隐藏................................................................................60 8.3 参数的缺省值 ..........................................................................................................63 8.4 运算符重载 ..............................................................................................................64 8.5 函数内联 ..................................................................................................................65 8.6 一些心得体会 ..........................................................................................................68 第 9 章 类的构造函数、析构函数与赋值函数 .................................................................69 9.1 构造函数与析构函数的起源....................................................................................69 9.2 构造函数的初始化表 ...............................................................................................70 9.3 构造和析构的次序...................................................................................................72 9.4 示例:类 STRING 的构造函数与析构函数...............................................................72 9.5 不要轻视拷贝构造函数与赋值函数 ........................................................................73 9.6 示例:类 STRING 的拷贝构造函数与赋值函数 .......................................................74 9.7 偷懒的办法处理拷贝构造函数与赋值函数.............................................................75 9.8 如何在派生类中实现类的基本函数 ........................................................................76 9.9 一些心得体会...........................................................................................................77 第 10 章 类的继承与组合..................................................................................................78 高质量 C++/C 编程指南,v 1.0 2001 Page 5 of 5 10.1 继承........................................................................................................................78 10.2 组合........................................................................................................................80 第 11 章 其它编程经验......................................................................................................82 11.1 使用 CONST 提高函数的健壮性..............................................................................82 11.2 提高程序的效率.....................................................................................................84 11.3 一些有益的建议.....................................................................................................85 参考文献 ............................................................................................................................87 附录 A :C++/C 代码审查表............................................................................................88 附录 B :C++/C 试题 .......................................................................................................93 附录 C :C++/C 试题的答案与评分标准.........................................................................97

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值