编程进化论

1、非程序员:

        初学编程、遇到问题完全是懵懵懂懂,不知道该怎么编程解决问题


2、基础程序员:

      学习过一段时间编程后,接到任务,可以编写程序完成任务。(此阶段的明显特征是编写的代码,正常情况下能工作,但在实际运行中,碰到一些特殊条件就会出现的各类BUG,很少用到数据结构、设计模式和算法) 


3、数据结构:

    经过一段时间的编程实践后,  程序员就会认识到“数据结构+算法=程序”的含义。开始在编程中有意思的使用算法来解决实际问题。开始意识到算法的本质是依附于数据结构的,好的数据结构一旦设计出来,那么好的算法也会应运而生。


4、面向对象

    在此阶段我们就会领略面向对象设计的强大。(不是你使用了面向对象语言编程,用上了类,继承了类,你就是在写面向对象的代码了,只有掌握了面向对象的三大特征,掌握了类和类,对象和对象之间的关系,能把实际的需求抽象出来,用面向对象的思想来编写编程)


5、设计模式

    网上有这样一句话:“没有十万行代码量,就不要跟我谈什么设计模式。”

    设计模式是编程的客观规律,不用设计模式,也可编写满足需求的程序。但是,一旦后续需求变化,那么你的程序没有足够的柔韧性,将难以为继。而主要的设计模式,其实都是面向对象的。因此,可以认为设计模式是面向对象的高级阶段。只有掌握了设计模式,才能认为是真正彻底掌握了面向对象设计技巧。

对于学习一门新语言时(包括非面向对象语言,如函数式编程语言),在了解了其语法后,看一下各类设计模式在这门语言中是如何实现的。这是学习编程语言的一个窍门。


6、语言专家

7、多语言专家

8、架构设计

                                                                                                                                          原文链接

你可能感兴趣的:(编程进化论)