美文网首页C/c++学习之道程序员我爱编程
新手学习C语言/C++编程,养成良好的代码风格

新手学习C语言/C++编程,养成良好的代码风格

作者: 小辰带你看世界 | 来源:发表于2018-03-11 18:51 被阅读78次

    C语言是面向过程的,而C++是面向对象的

    C和C++的区别:

    C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

    C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

    C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

    今天在看C++ Primer一书中运算符重载这部分内容时,我突然认识到,就算是同样的代码,一个字符不差,但是不同的风格,也会给人带来不一样的感觉。

    下面是C++ Primer一书中对于Sales_item类的==运算符重载函数,先看看书上的代码:

    小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

    下面是自己写的:

    小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

    不用怀疑,这是一模一样的代码,代码的功能也不是本文的重点,这里只是从代码风格上考虑,你会觉得哪种会让你看起来赏心悦目,哪一种又让你看起来昏昏欲睡呢?反正我是觉得书上的代码看起来舒服很多:

    书上的写法把inline bool自成一行,可以清晰的看见返回值类型,不像我所写的返回值类型,函数名,形参表等挤在一行,重点可能因此就被埋没了;

    书上的写法把每个做相等比较的语句放一行,看上去一目了然,而不是像我把2个&&都写在一行了,阅读的时候还要到处找==表达式。

    上面只是一个简单的例子来说明代码风格的重要性,还有很多的编码规范需要注意,比如变量命名啊,注释啊等等,这不是一篇文章所能说清楚的事。

    一般来说,大的公司内部会有自己的编码风格要求,如华为内部的华为c语言编程规范,你在刚进入这些公司的时候,这些肯定是要去阅读的,如果你不想在review代码的时候被你同事嫌弃的话。

    如果你的公司没有类似的文档要求,也没关系,网上有份Google-C++编程规范相信会值得你去仔细阅读品味,这是李开复宣称的地球上最好的一份C++编程规范,没有之一,由此可见它的权威性了。

    下面是从网上搜索的一张涵盖了Google-C++编程规范大部分内容的说明图,可以在短时间内快速掌握规范的重点内容。不过一张图毕竟不能代替文档,有时间还是把这个文档认真阅读一遍吧,文章末尾会给出下载地址。

    小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

    这些是C/C++能做的

    服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等

    相关文章

      网友评论

        本文标题:新手学习C语言/C++编程,养成良好的代码风格

        本文链接:https://www.haomeiwen.com/subject/dsnmfftx.html