C++工程开发,菜鸟成长记

  • Post author:
  • Post category:其他




提示:C++小菜鸟,记录自己的工程开发经历,应该是一个难难难啃的大大大坑吧,但是梦想成为一名大牛,emmm




前言


C++是一门博大精深的面向对象的编程语言,曾经以为本科就开设了C++课程,还做过课程设计,然而其实学得和C语言差不太多;研究生实习期间也用C++去实现一些功能,做过一些opencv的移植工作,学得真太浅啦;直到正式工作后,频繁使用C++11,慢慢开始写得多,然而C++版本已经出了14,17,20...还会继续...如果从事C++开发的话,起码一半时间用来提升C++的能力,剩下的python,java,C语言,shell脚本等等称之为一些必备的基础工具了,倘若C++都入门,剩下的这些触类旁通,稍微学学起码够用。或许有一天,你觉得C++太tm难了,你实在学不动,仍然可以换行java,python,岂不乐哉。所以呀,谁让你是程序员呢。。。学无止境,唯有持续学习




一、C++基础



1. 类



2. 智能指针

链接地址

智能指针学习

### 防止内存泄露!!!
#include <memory>
std::atuo_ptr
std::shared_ptr
std::weak_ptr
std::unique_ptr



3. 并发与多线程

链接地址

并发与多线程学习

// 进程、线程、多进程、多线程
#include <thread>
#include <mutex>
#include <future>
#include <condition_variable>
#include <atomic>

std::thread
std::mutex
std::lock_guard
std::condition_variable
std::async
std::future
std::atomic



二、基础工具



1. shell脚本



2. cmake使用



3. vim使用



4. python基础



5. java基础



三、必备技能



1. git基本操作



2. linux常用命令



3. gdb使用



四、计算机基础



1. 设计模式



2. 计算机网络



3. 操作系统



五、软件架构



六、C++进阶



七、菜鸟包裹



八、学习tips

first year

1. 良好的代码规范
2. 提升代码效率,质量
3. 熟悉各种debug工具
4. 文档编写
5. 流程图、UML图
6. 笔记总结

second year

1. 没有解不了的bug,只是需要绞尽脑汁;解决问题需要从根本原因,了解底层逻辑可以少走很多弯路
2. 解bug是一个循序渐进的过程,如果有多个bug,需要设定优先级,一个一个解,最好不要来回切换,除非没有思路
3. 需求开发首先需要明确需求点,切勿把需求理解错误,而导致无用功
4. coding需要有架构思维,提前设计好构架,后面基本不改动,再基于该架构增加代码逻辑
5. 对于一个新项目,前期需要做好充分的调研,并做笔记
6. 对于一个短时间接不了的bug,可能需要寻求他人的帮助,更需要时不时多看看外网博客,很有可能灵感来了或者运气来了,就找到了相关的解法



总结

未完待续。。。


stay hungry, stay foolish



版权声明:本文为weixin_43273308原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。