<Kingofark's 35 More Points of View About Learning C++ And Programming>
<kingofark关于学习C++和编程的另外35个观点>
作者:kingofark
Revision 1.0
1.编写小程序,请画程序流程框图;编写大程序,请画分段程序流程框图;
2.源代码看不太懂时,试着画出程序的流程图或分段流程图,并结合源代码搞清楚流程图中各个变量的作用和含义;
3.阅读源代码之前,请先把程序编译运行,看一看程序运行的样子,得到一个感性的认识;
4.时刻记住:用户界面和接口要与核心算法和处理分开一些;
5.要知道:程序流程图分很多种;
6.请关注《More Exceptional C++》和《Effective STL》;
7.学会配置集成开发环境,充分利用集成开发环境带来的便利;
8.请学习CMM(能力成熟度模型)的知识;
9.请看<kingofark关于学习C++和编程的50个观点>
10.请到www.gotw.ca去看 Guru of the Week 栏目;
11.学会使用Standard Template Library中的好东西,掌握范型技术——事实上,STL已经包含了如此之多的东西,你可以省掉很多自己编写基本数据结构和算法的麻烦;
12.初学时,一定要重视调试技术,学会用debug等对程序进行分析——虽然那时的程序也许很小很简单——要养成调试的好习惯;
13.请注意程序的完整性——再小的程序,也应该有相关的边界情况处理和错误处理——试想一下,当你运行很久以前的代码或者别人运行你的代码的时候,如果程序不声不响的出现意想不到的结果甚至错误,那毕竟不是一件令人愉快的事情;
14.使用不同的编译器编译同一个程序,进行横向比较——这往往对于解决与C++标准和编译器有关的问题大有帮助;
15.懒惰的人喜欢问:XX书好不好?YY书怎么样?——别问,请你自己通过到书店或图书馆预览来判断;适合别人的书并不一定也适合你;别人的观点只是一种参考而已;勤读书的人从来不这样问;
16.懒惰的人喜欢叫:请帮我编写XX程序(要求是YY)!——希望你能礼貌的问“请教XX型程序的设计构思”这样的问题,然后再自己解决;
17.懒惰的人喜欢抱怨;
18.懒惰的人未必是看书看得少的人;
19.懒惰的人未必是提问提得少的人;
20.懒惰的人一般来说也是浮躁的;
21.懒惰分两种:a)思想上的;b)行动上的;
22.懒惰的人分两种:a)只问而不学的人;b)只学而不实践的人;
23.浮躁的人喜欢评价各种语言:XX先进,YY落后;XX“快”,YY“慢”;——是YY真的很“慢”,还是你的算法太糟糕了?(假设你费心做过一次真的意义上的测试);
24.不要轻易的评价一门语言——这往往是只有领域内的大师或专家才有能力做的事情;
25.初学的时候,请刻意的编写一些小程序,查看各种平时不太在意的信息,比如各种类型在特定编译器上的大小以及它们在内存中的分配情况等等——对此有一点(哪怕只是一点)印象的话,有时候对于解决一些让人摸不着头脑的程序问题小有帮助;
26.初学的时候,很多书要同时看方能旁敲侧击,全面进步;
27.请记住并注意:初学的时候,正是最容易蜕变得懒惰和浮躁的时候;
28.在向别人提问的时候,请准备好与问题相关的信息和问题背景,以便别人能很快“进入状态”——否则的话,即使是再权威的专家面对你的问题,也会有一种面对“飞来横祸”似的没有准备好的感觉;
29.请在自己真正思考好之后,再去向别人求教,从而避免反复提问——毕竟,一个人要忍受你用数种不同的方式问他同一个也许简单得有些幼稚的问题是不容易的——要尊重别人;
30.请记住:在别人为你解答问题的时候,往往能学到很多东西;在你为别人解答问题的时候,往往能学到更多东西;——请热心回答别人的问题;
31.与别人讨论的时候,千万不能藐视对方——否则的话,别人往往也会藐视你;——讨论、解答需要耐心;
32.如果你认为一本书很好,请记得写信感谢书的作、译者;
33.请把你所看的书中任何你不满意或者认为有错误的地方记录下来;
34.请不要做懒惰的人;
35.如果你热爱C++,那么请拥护C++。