我现在已经学习了三个月的C++,并且在这段时间内为我的公司创建了多个应用程序。我认为自己对C++ / MFC和STL相当熟悉,但我不仅仅想成为一个普通的程序员,我想成为一个优秀的程序员。我有一些关于最佳实践的书籍,但我想知道是否有人可以推荐一些阅读材料,并且应该鼓励哪些纪律性?
谢谢!
我现在已经学习了三个月的C++,并且在这段时间内为我的公司创建了多个应用程序。我认为自己对C++ / MFC和STL相当熟悉,但我不仅仅想成为一个普通的程序员,我想成为一个优秀的程序员。我有一些关于最佳实践的书籍,但我想知道是否有人可以推荐一些阅读材料,并且应该鼓励哪些纪律性?
谢谢!
针对C++,Scott Meyers的书非常好,并可以帮助您进入下一个级别。
如果您还没有它,可以考虑购买Bjarne Stroustrup的 C++ 第3版
学习了三个月的C++,你已经感到很舒适了吗?天啊,我学习C#已经一年多了,参加了许多微软课程,但我还远没有掌握它。
话虽如此,你会听到Code Complete被称为一本非常好的书。我正在阅读这本书。
《大规模C++程序设计》是John Lakos所著,该书为您提供了设计方法的指导,可以使您的C++代码更易于维护。虽然书籍内容较为繁重,但您仍可随意翻阅并从中获益。
有点偏题:与其建议学习书籍,我想提一些需要考虑的广泛主题。
线程。如果您使用MFC,则不太需要,但在许多其他领域中是必不可少的。线程API的机制很容易掌握,但学习所有边角案例需要很长时间和实践。
闭包、Map-Reduce和其他类似lisp的技术。了解它们是什么,为什么它们不受C++支持,以及它们如何在C++中模拟(函数对象和许多状态回调对象的情况)。对于这个问题,我实际上有一本书:“计算机程序的构造和解释”。
命令行。这让你知道什么时候不要编写自己的程序。命令行将是Unix命令行 - 我不知道MS在这个区域的最新实验,但cmd.exe很糟糕。获取Cygwin并开始尝试。
脚本语言。这让你知道什么时候不要使用C++编程。我的最爱是Perl,但许多人说Python、Ruby等等。嘿,如果您愿意,可以学习XSLT!
我相信我忽略了其他领域。我将其标记为社区Wiki-请随意添加。
好的博客: 本周大师(Guru of the Week),以及Herb Sutter的所有书籍。这些已经足够让你消化一段时间了。
如果你想要更好地了解自己还不知道的内容,也许也不想知道的内容,可以看看Alexandrescu的现代C++设计(Modern C++ Design)。
练习的话,可以尝试Code Kata!
我已经阅读了几本O'Reilly关于VB.net的书籍(虽然不是全部,但是涵盖了一些部分),它们非常不错。但是如果你想成为专业人士并且有时间的话...... 你可以尝试使用MSDN论坛,帮助其他人并与他们讨论困难和复杂的问题,我认为这是最好的方式。
学习另一种编程语言。即使你不会使用它,它也有助于开拓思维。
我建议学习Lua、Scheme和Python。但几乎任何其他语言都可以。(与C最不相似的越好)