美文网首页架构算法设计模式和编程理论程序员
编写大气的代码--第一周学习体会

编写大气的代码--第一周学习体会

作者: wtcamel | 来源:发表于2017-01-09 22:49 被阅读0次

       早在大学时候,就有幸翻阅了侯捷老师的《深入浅出MFC》,至今记得其中“在浮砂筑高台”。毕业后混混沌沌的写了两三年c++,许多知识点是知其然不知其所以然。后工作需要转向c#,与c++更是渐行渐远。这次云课堂上看到有侯捷老师的课,果断报名,一来有意重新拾起c++,二来,也算是为当年使用盗版书籍还一笔债。

        言归正传。

        第一周的课程,或许与其他学员的感受不一样,更多的体会还是在于程序的设计思路。用侯老师的话来说,要编写大气的程序。

1. 防卫式声明。除了老师提到的宏定义的方式,还可以使用编译器预处理命令,如下图:

 图中方法一的问题,是大型工程中,头文件定义比较多,很有可能出现宏定义重复,命名冲突,优点是跨平台;方法二,则是依赖于编译器,  不是所有编译器都支持。

2. 构造函数中尽量使用初始化列表。c#中也是同样的优先选择初始化列表。这里需要注意的是,c++中初始化的顺序,跟初始化列表中的顺序没有关系,只跟声明的顺序一致,所以遇到有依赖关系的初始化处理时,需要注意声明的参数顺序。

3. 尽量使用inline。目的是提高参数运行效率。inline可以理解为编译器直接替换了代码(是否正确?),省略了函数调用过程中出栈的消耗以及函数返回时的消耗。

3. 使用const。这里老师提到的是尽量使用。const可以用到的地方很多,目前课程中提到的只是参数,函数的返回值等等,这里有很多坑,以前踩过不少,后续需要进一步整理const的相关使用。

4. By reference。这里又可以细分,具体包括参数返回值两部分。(其实这里对指针和引用的区别还是有一些疑惑,引用和指针的大多数情况下可以互换,这里提倡使用reference,是否是出于代码可读性及可维护性的考虑?)

除了上面老师提到的几个要点以外,从代码中也能看到大气代码的一些基本要求,比如函数及参数的命名。


相关文章

  • 编写大气的代码--第一周学习体会

    早在大学时候,就有幸翻阅了侯捷老师的《深入浅出MFC》,至今记得其中“勿在浮砂筑高台”。毕业后混混沌沌的写了两三...

  • 编写前台页面代码

    编写前台页面代码 被调用方后台代码编写 调用方前台代码编写 引入前台Jasmine测试框架 1、创建Spring ...

  • 《编写可读代码的艺术》

    1.调整心态认识到编写可读代码的必要性。在编写可拓展代码,可用代码和可读代码之间的优先级,编写可读代码较高;克服思...

  • 简单的web软件开发

    代码编写 代码解释

  • 编写后台服务代码

    编写后台服务代码 被调用方后台代码编写 调用方前台代码编写 引入前台Jasmine测试框架 1、创建Spring ...

  • 第2章 编写高质量代码

    第2章 编写高质量代码 2.1 编写过程与规范 2.1.1 软件编程工作 系统模型 => 编写代码(代码审查和单元...

  • 绑定服务

    1、DemoService.java编写 代码如下: 2、MainActivity.java 编写 代码如下:

  • Python 代码的编写

    害! 这篇是为了保持住日更的习惯 今天在做label的UI上加入一个功能:页面打开直接自动跳至新数据,我TM搞了大...

  • 元编程:编写代码的代码

    知识点一:Binding类 知识点二:eval执行代码字符串 知识点三:钩子方法 案例

  • Eclipse插件:MyBatis代码生成器

    编写generatorConfing代码 运行generatorConfing代码

网友评论

    本文标题:编写大气的代码--第一周学习体会

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