C++的升级之路

Wesley13
• 阅读 559

一、关于书籍
1. 推荐 c++ 三本书
《accelerated c++》
 --- 从解决问题的角度出发写的书籍,从书中会看到一个问题有多种解决方案,可以体会过程式到面向对象的一些转变思想,其中也涉及了c++模板等一些高级技术

《effective c++》
---- 主要是一些经验条目,c++必看书籍

《c++ primer》
--- 作为工具书使用,查看一些c++的语言细节

进一步阅读:
《c++程序设计语言》---c++之父写的,值得一看
《c++ templates》 ----主要介绍c++模板的一些细节
《设计模式》--例子大部分都是用c++写的,设计模式本身就是用面向对象思想解决问题的一些固定方法的抽象

关于c++,在业内普遍认为是一门很复杂的语言(是一门多范型的语言,oo是其中的一部分),是一门考察人性的语言(因为太强大了,使用者容易玩太high,管不住自己),
是复杂领域技术牛人最喜欢的语言,是嵌入式系统专家不得不精通的语言。同时学习c++对于c的理解和使用也会有很好的帮助,会很自然地将c++的oo思想使用到c语言中。

2. 其他方面的书籍推荐
(1)《敏捷软件开发 原则、模式与实践》----- 面向对象领域非常非常好的一本书,建议大家先看一下--oo训练营之前大家要先看一下:
       1. 第6章 2.第二部分的8-12章----面向对象原则
(2)《代码整洁之道》 ---- 讲的是一些编程的好习惯
(3)《重构》-----主要讲代码的坏味道和解决方案
(4)《修改代码的艺术》 ---- 主要是如何解决代码之间的耦合和依赖,如何安全的修改代码

之后会根据情况组织读书会,大家一起读书,一起分享,逐渐建立起分享,一起学习的氛围。

二、oo训练营

1. 开始之前的有一个作业,看下面的部分,输出一个简单的总结,谈一下对于面向对象的理解

《敏捷软件开发 原则、模式与实践》----- 面向对象领域非常非常好的一本书,建议大家先看一下
       1. 第6章 2.第二部分的8-12章----面向对象原则
 
2. 人数建议10多个人,建议是感兴趣的人,愿意分享的人,培训过程中会发现一些人,尝试培养成内部教练,以后再继续传播,给其他人培训

3. 过程中会留作业,会阅读大家的代码,指出代码中的问题,之后会启发大家使用学到的知识发现我们产品代码中的设计问题,改善我们的设计和代码

----实际上很多开源的软件也都是使用类似的原则进行开发的,也会帮助我们进一步了解开源代码。

三、关于培训

先列出一些:

技术方面:
1.oo训练营
2.设计模式培训
3.针对嵌入式系统的c++快速掌握的培训
4.代码阅读培训
6. 简单设计
7. 重构背后的逻辑
。。。

管理方面:
1. 看板培训
2. 需求管理和故事拆分

其他:
组织氛围,技术分享方面《世界上最棒的职业》(当然是程序员,why)

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Stella981 Stella981
3年前
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解2016年09月02日00:00:36 \牧野(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fme.csdn.net%2Fdcrmg) 阅读数:59593
Stella981 Stella981
3年前
C# Aspose.Cells导出xlsx格式Excel,打开文件报“Excel 已完成文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃”
报错信息:最近打开下载的Excel,会报如下错误。(xls格式不受影响)!(https://oscimg.oschina.net/oscnet/2b6f0c8d7f97368d095d9f0c96bcb36d410.png)!(https://oscimg.oschina.net/oscnet/fe1a8000d00cec3c
Stella981 Stella981
3年前
Linux查看GPU信息和使用情况
1、Linux查看显卡信息:lspci|grepivga2、使用nvidiaGPU可以:lspci|grepinvidia!(https://oscimg.oschina.net/oscnet/36e7c7382fa9fe49068e7e5f8825bc67a17.png)前边的序号"00:0f.0"是显卡的代
Stella981 Stella981
3年前
Modern C++ 书籍推荐
本文介绍了一些ModernC的相关书籍整理了一份ModernC(现代C,意指使用C11及之后标准特性的C),有兴趣的朋友可以参考一下~基础TheCProgrammingLanguage!cover_1(https://oscimg.oschina.net/oscnet/
Wesley13 Wesley13
3年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Stella981 Stella981
3年前
Github标星5300+,专门为程序员开发文档开源管理系统,我粉了
!(https://oscimg.oschina.net/oscnet/a11909a041dac65b1a36b2ae8b9bcc5c432.jpg)码农那点事儿关注我们,一起学习进步!(https://oscimg.oschina.net/oscnet/f4cce1b7389cb00baaab228e455da78d0
Stella981 Stella981
3年前
Nginx反向代理upstream模块介绍
!(https://oscimg.oschina.net/oscnet/1e67c46e359a4d6c8f36b590a372961f.gif)!(https://oscimg.oschina.net/oscnet/819eda5e7de54c23b54b04cfc00d3206.jpg)1.Nginx反