[关闭]
@RR 2017-12-25T07:10:42.000000Z 字数 1281 阅读 117

工程师成长指南

flex


Ver - Dec 25, 2017

如何使用本指南.

这个指南并不是一个新手教学资料,它并不会具体的传授某个领域的知识。它是一个折腾指南,告诉你应该去折腾什么。里面会有一些关键步骤,但并不详尽,也有可能在你的实际环境中还会出错。
但正是这个指南所期望的,希望你在折腾的过程中,获取到更广泛的知识,提高自己分析问题,解决问题的能力。

在学习的过程中,慢就是快。遇到一个障碍,找别人帮你分分解决问题并不能让你真的学到什么;而通过自己查找资料解决你会收获更多的知识。你读过的文档,解决过的问题,踩过的坑,等时间长了,那些细枝末节你都忘了,剩下来的,就成了你的能力了。所以,在最开始我希望你们能阅读一下这篇博客的内容How To Ask Questions The Smart Way

当然,在自己独立解决问题和寻求同事帮助之间,并不是自己独立解决问题永远都是好的,寻求同事帮助都是糟糕的。如何在这两者之间选择,在以后的工作中你会慢慢找到合适的权衡的。但在现在的学习阶段,当年感觉到需要帮助的时候,那么就大胆的寻求你mentor的帮助。你的mentor应该不仅会教你具体的知识,也应该教你如何自己解决问题。

需要掌握的基本知识

  1. C/C++语言以及代码规范
  2. Git
  3. Cmake
  4. 单元测试(Gtest),以及自动化测试
  5. IDE以及代码调试技巧

任务一:选择恰当的IDE

在真实的C/C++工作环境中,Windows下一般使用Visual Studio作为开发IDE;在Linux下推荐使用Jetbrain公司的clion作为开发工具。但是除了这两个庞大的工具,一般来说你应该还有一个轻量级的编辑器editor,作为日常所用。K&R这本书里面的练习题的都不复杂,一个简单的editor足够胜任了。所以我希望你调研一下常见编辑器,并且选择其中一种作为你常用的编辑器。我希望这个编辑器具有以下一些特征

  1. 跨平台的,也就是将来你可以在windows下和Linux下无缝的使用它。
  2. 这个编辑器是可安装插件的,这样你可以通过安装插件的方式增强你写C/C++代码时的效率。一些常见的功能包括自动补全,自动格式化,代码lint之类的。

Git

网上入门的资料很多,这里就不特别推荐啥了。
有本免费的书Pro Git
其他的一些还不错的资源我列一下.
1. Githug is designed to give you a practical way of learning git
2. Learning Git Branching
3. The git-game is a terminal based game that teaches both new and advances users some pretty cool features of the git scm system.
4. A successful Git branching model

FAQ

这里面很多东西看起来我现在的工作上也用不上,为啥要学呢?

第一是因为好玩,有趣。一个程序员应该有好奇心。第二是因为将来可能有用。

这里面列了那么多东西,资料那么多,我需要学多深呢?

你不可能学习完全部的内容,用你的经验和直觉做判断,选取当前合适的部分学习。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注