最近在思考一个问题,怎么能写出一个可以运行的完美的错误程序?
1.首先要对常见的语法掌握熟练,因为明显的错误会被编译器检查出来而报错。
2.种种巧合,也是一种缘分。让变量处于一种不良的状态。
3.企图扩展用法的灵活性而细节忽视。
4.不借助于其他调试方式跟踪调试。(比如内存,和反编译角度)
看来这并不容易,写出一个正确且规范的C++程序也是很困难的。但花力气学习如何写出一个质量高的程序长远来看是十分有必要的。程序开发中,尤其是投入使用后,改是有代价的。
关于学习与错误矫正阶段
1.了解语法应用于某些常用的场景。熟练了解语法应用的场景。深刻了解语法的作用,可以将语法应用于新场景。
2.对每个容易产生错误的行为都了解。对每个容易产生错误的行为都有熟练掌握,并有深刻的原理理解。忽然明白语法设计的用意,能够出自本能的自由书写程序。不再担心会出错,即使出错了也会综合多种方式来探测错误可能出现的地方。
3.了解语法知识,掌握语法知识,精通细节,不再刻意追求语法正确,正确的知识在正确的地方正确的被应用。
C++?精确语法,宏观的共性,微观的嗅觉。
目前:
1.用知识去描述并论述问题。用人的思维理解编译器。
编译器的机制是宏观的,比如描述:传值是怎么进行的........;抽象理解;分析问题:结合语法。
很像解题:编译器是题干,语法是分析问题的工具。回到知识点,是一条经验。加深了对于语法的了解。要加强对编译器工作原理和行为的理解。这部分知识是独立的。对于编译器怎么工作要建立独立的知识和框架。大脑要像一台计算机,舒畅的跑起来。不断地调试,使大脑能模拟计算机进行调试,调试和验证的过程,有助于积累丰富的经验,分析问题更有角度。语法知识要慢慢那抽象化。但是现在学习时却是很具体的,很准确。大概是看山是山,看水是水的阶段吧。等一点点提升了,才能看山不是是山,看谁不是水。
C++?
有体系的编译知识+准确的语法知识+调试经验
编译知识--理解语法,语法知识--解决问题,调试---积累经验,练习编译和语法。
同理:至于怎么去刷题和解题,算法在题干里通过优化跑起来,就算问题的解决,跑的越快,环节越少,说明水平越高。这是编程的一端。C++则是编程另一端。应该两端兼修。
总结:如何快速进步?增强对知识的吸收能力。建立编译知识框架和体系,准确的语法知识。反复熟悉和总结,循序渐进。
学习C++五天有余,曾一度陷入疑惑,以本文梳理思路。不足之处请指正。