编程技能的层次
程序员的编程技能随着经验的积累,会逐步提高。编程技能可以分为一些层次,这些层次指的程序员设计和编写程序的能力层级。 第0层——非程序员 初学编程者,遇到问题,完全是懵懵懂懂,不知道该怎么编程去解决问题。也就是说,还是门外汉,还不能被称之为程序员。计算机在他面前还是一个神秘的黑匣子。 第1层——基础程序员 学习过一段时间的编程后,接到任务,可以编写程序完成任务。这一层次编写出来的代码,正常情况下是能够工作的,但在实际运行中,碰到一些特殊条件就会出现各类BUG。也就是说,具备了开发Demo软件的能力,但开发的软件真正交付给客户使用,恐怕会被客户骂死。 虽然程序是写好了,但到底为什么它有时能正常工作,有时又不行,程序员自己也不知道。运行中遇到了bug,或者需求改变,需要修改代码或者添加代码,很快程序就变得结构混乱,代码膨胀,bug丛生。很快,就连最初的开发者自己也不愿意接手维护这个程序了。 第2层——数据结构 经过一段时间的编程实践后,程序员会认识到【程序=数据结构+算法】这一古训的含义。他们会使用算法来解决问题。进而他们会认识到,算法本质上是依附于数据结构的,好的数据结构一旦设计出来,那么好的算法也会应运而生。 设计错误的数据结构,不可能生长出好的算法。 第3层——面向对象 再之后,程序员就会领略面向对象程序设计的强大威力。大多数现代编程语言都是支持面向对象的。但并不是说