俗话说:他山之石,可以攻玉。学习程序设计也是如此。在初学阶段,可以仿照别人的例子来学习某种语言的基本语法,加深对该语言的理解。这种做法是值得推荐的,也是大多数人走过的路。我也是这样开始学C#的。将K.scott Allen的<<C#高级编程>>里的例程在自己的机器上实现了一遍,主要是比较深奥的概念部分:事件与委托.这本书的确是经典,不愧是. Net之父的作品.通过这种学习方式,的确在学习C#的道路上进展很顺利.
宝刀总会有用老的时候.当我开始自己做个小项目故计重施的时候,这种方法就不怎么灵光的.我是这么做的:找一个与自己的项目很类似的源代码,认真学习和利用里面现成的代码来为自己的程序添砖加瓦.开始还觉得很顺利,但做着做着问题就出来了.仿照例程是可以,因为它是程序的片段!但如果你仿照的是一个完整的项目,那可得小心了,借鉴里面好的设计方法是可以的,但如果完全照搬肯定是不行的,因为你的项目不可能和它完全一样,至少实现的目标是不一样的.回过头再去看我的程序,发觉与自己原来的设想越来越远,与你仿照的程序越来越接近!你被它给框住了你的思想!所以,初学者千万要小心,别以为有现成的源代码是好事.它绝对是一把双刃剑!
现在我认为,微软的MSDN的做法绝对是非常聪明的.这是误区之一.
另外,还有一点想说一下.编程不需要时时刻刻使用电脑,需要"远离电脑".相信很多人会认可我这么说的.之所以这么说,也是基于现实.思考才是程序设计的真谛!程序的数据结构,每个模块之间的调用关系,设计好的算法等等,这些都是思考的结果.相信,时时刻刻都在编码的程序设计者绝对不是好的程序员,最起码不是非常优秀的.说到这,想起有人说过,真正的高手根本就不会编程.这是真实的.
所以,朋友们,编程不光要会模仿,更要会自己创新.不要总是在CODING,也要经常THINKING.