每个从事 C++开发的朋友相信都能给后来者一些建议,但是真正为此进行大致总结的很少。本文就给出了网上流传的对 C++编程开发学习的 50 条建议,总结的还是相当不错的,编程学习者(不仅限于 C++学习者)如果真的理解了这些建议,相信能够在学习时准确的抓住侧重点,少走弯路。下面列出这 50 条建议:
-
把 C++当成一门新的语言学习(和 C 没啥关系!)。
-
看《Thinking In C++》,不要看《C++编程思想》。
-
看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看。
-
不要被 VC、BCB、BC、MC、TC 等词汇所迷惑--他们都是集成开发环境,而我们要学的是一门语言。
-
不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点。
-
会用 Visual C++ ,并不说明你会 C++。
-
学 class 并不难,template、STL、generic programming 也不过如此,难的是长期坚持实践和不遗余力的博览群书。
-
如果不是天才的话,想学编程就不要想玩游戏--你以为你做到了,其实你的 C++水平并没有和你通关的能力一起变高--其实可以时刻记住:学 C++是为了编游戏的。
-
看 Visual C++的书,是学不了 C++语言的。
-
浮躁的人容易说:XX 语言不行了,应该学 YY;——是你自己不行了吧!?
-
浮躁的人容易问:我到底该学什么;——别问,学就对了;
-
浮躁的人容易说:我要中文版!我英文不行!——不行?学呀!
-
浮躁的人容易问:XX 和 YY 哪个好;——告诉你吧,都好——只要你学就行。
-
浮躁的人分两种:a)只观望而不学的人;b)只学而不坚持的人。
-
把时髦的技术挂在嘴边,还不如把过时的技术记在心里。
-
C++不仅仅是支持面向对象的程序设计语言。
-
学习编程最好的方法之一就是阅读源代码。
-
在任何时刻都不要认为自己手中的书已经足够了。
-
请阅读《The Standard C++ Bible》(中文版:标准 C++宝典),掌握 C++标准。
-
看得懂的书,请仔细看;看不懂的书,请硬着头皮看。
-
别指望看第一遍书就能记住和掌握什么--请看第二遍、第三遍。
-
请看《Effective C++》和《More Effective C++》以及《Exceptional C++》。
-
不要停留在集成开发环境的摇篮上,要学会控制集成开发环境,还要学会用命令行方式处理程序。
-
和别人一起讨论有意义的 C++知识点,而不是争吵 XX 行不行或者 YY 与 ZZ 哪个好。
-
请看《程序设计实践》,并严格的按照其要求去做。
-
不要因为 C 和 C++中有一些语法和关键字看上去相同,就认为它们的意义和作用完全一样。
-
C++绝不是所谓的 C 的“扩充”--如果 C++一开始就起名叫 Z 语言,你一定不会把 C 和 Z 语言联系得那么紧密。
-
请不要认为学过 XX 语言再改学 C++会有什么问题--你只不过又在学一门全新的语言而已。
-
读完了《Inside The C++ Object Model》以后再来认定自己是不是已经学会了 C++。
-
学习编程的秘诀是:编程,编程,再编程。
-
请留意下列书籍:《C++面向对象高效编程(C++ Effective Object-Oriented Software Construction)》、《面向对象软件构造(Object-Oriented Software Construction)》、《设计模式(Design Patterns)》、《The Art of Computer Programming》。
-
记住:面向对象技术不只是 C++专有的。
-
请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码。
-
把在书中看到的有意义的例子扩充。
-
请重视 C++中的异常处理技术,并将其切实的运用到自己的程序中。
-
经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去。
-
不要漏掉书中任何一个练习题--请全部做完并记录下解题思路。
-
C++语言和 C++的集成开发环境要同时学习和掌握。
-
既然决定了学 C++,就请坚持学下去,因为学习程序设计语言的目的是掌握程序设计技术,而程序设计技术是跨语言的。
-
就让 C++语言的各种平台和开发环境去激烈的竞争吧,我们要以学习 C++语言本身为主。
-
当你写 C++程序写到一半却发现自己用的方法很拙劣时,请不要马上停手,请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析自己的错误并重新设计和编写(参见 43)。
-
别心急,设计 C++的 class 确实不容易;自己程序中的 class 和自己的 class 设计水平是在不断的编程实践中完善和发展的。
-
绝不要因为程序“很小”就不遵循某些你不熟练的规则--好习惯是培养出来的,而不是一次记住的。
-
每学到一个 C++难点的时候,尝试着对别人讲解这个知识点并让他理解--你能讲清楚才说明你真的理解了。
-
记录下在和别人交流时发现的自己忽视或不理解的知识点。
-
请不断的对自己写的程序提出更高的要求,哪怕你的程序版本号会变成 Version 100.XX。
-
保存好你写过的所有的程序--那是你最好的积累之一。
-
请不要做浮躁的人。
-
热爱 C++!
再跟大家强调几点,就像上面说的,VC++我们需要学会,但请记住它并不代表 C++语言,而只是 C++的开发平台,我们应该更加重视根本--C++语言;学习编程最好的方法是看完入门教程,然后学习分析源码,最后自己编程实践,在学习几门语言后就驾轻就熟了;学好 C++也不是最终目的,最后你会理解到,程序设计技术才是我们一直努力的方向,它是跨语言的。
最后,也想说这句话,学习 C++就请热爱 C++!