我知道basic OOP-related topics,RTTI, Templates.从还原回来Java' Collection Framework,我试图找到在这些收藏品C++和发现STL,并想使用它在我的项目(虽然我不知道他们进出).我搜索并找到了类似书籍的推荐Accelerated C++, Effective and More Effective C++.
但我不确定我的进步路径应该是什么.我正在寻找这样的东西 - Python-Progression Path:
Run Code Online (Sandbox Code Playgroud)def apprentice(): read(diveintopython) experiment(interpreter) read(python_tutorial) experiment(interpreter, modules/files) watch(pycon) def master(): refer(python-essential-reference) refer(PEPs/language reference) experiment() read(good_python_code) # Eg. twisted, other libraries write(basic_library) # reinvent wheel and compare to existing wheels if have_interesting_ideas: give_talk(pycon) def guru(): pass # Not qualified to comment. Fix the GIL perhaps?
- 发现列表理解
- 发现发电机
- 包括地图,减少,过滤器,ITER,范围,x范围经常到你的代码
- 发现装饰者
- 编写递归函数,很多
- 发现itertools和functools
- 阅读真实世界Haskell
- 用大量的高阶函数,递归和诸如此类的东西重写所有旧的Python代码.
- 每次为他们提供Python课程时,都要惹恼你的小隔间.声称它可以"更好"地实现为字典和一些功能.拥抱函数式编程.
- 重新发现策略模式,然后从Haskell之后你努力忘记的命令性代码重新发现所有这些事情.
- 找到一个平衡点.
这是一个很难回答的问题,因为你真正需要的是擅长你所做的事情,因此不存在权威的列表。
话虽如此...
Effective C++迈耶斯和C++ Coding Standards萨特的著作,如果您是初学者,您不太可能理解所有内容,因此请不时地重新阅读它们(这也是一种很好的疫苗)boost::optional让你的代码更安全、更惯用。还可以戳一下 Boost String Algorithms 库。boost::variantboost::lexical_castboost::numeric_cast我自己仍然处于最后一部分,所以无法评论进一步的内容:)
在每一步中,您都应该编写大量代码,阅读是不够的,您需要进行实验。编程不仅仅是技术,程序的架构部分在该领域也极其重要。
哦,尝试加入(如果只是为了阅读)一个开源项目,没有什么比编写代码更好的了,而且当其他人审查它时会更好:)