达内作为互联网IT培训行业的领军企业,最初就是以JAVA培训起家,但是这一门已经拥有18年培训经验的课程,其经典的 “飞机大战”却遭受质疑:

“多少年了,还在用飞机大战的项目!”“这项目都不更新,哪能跟得上企业的需求!”“这么简单的项目经验,简历直接就被HR给Pass了!”

难道,18年达内累计培养40万JAVA学员的课程,真的连项目都不更新?真的只有这么简单的项目经验?

当然不可能!

01

不变的飞机大战其实一直在“变”

说“飞机大战”不变的人,是不懂行的人。只看到了飞机大战的外壳不变,但不知道其内核一直在变化。

达内的课程“每季度一更新,半年一小改,每年一大改”,从2012年开始,飞机大战已经迭代到8.3版本。这次8.3版本主要更新了3个内容:

1)优化了继承关系

2)新增测试驱动开发

3)更新碰撞检测算法

尤其新增的测试驱动开发,是当前企业主流开发模式,采用分模块开发测试案例和模块代码,对模块进行单元测试,能够更简单更快速的找出BUG,契合企业敏捷开发的需求!




java 飞机大战触碰物品代码大全 java飞机大战boss入场代码_飞机大战boss入场代码


碰撞检测模块算法原理

02“飞机大战”不是商业项目,是最经典的教学案例!

1、质疑“飞机大战”的人,是不懂教学的人

“飞机大战”是最最最经典的教学案例,而不是商业项目!是0基础学员入门的完美案例, 它能够帮助学员夯实原生编程基础,培养代码底层思维,激发逻辑归纳能力。然后第二阶段就可以顺利开始进入商业项目。

教学案例不等于商业项目

什么是“教学案例”?就像学厨,一定要先从切菜、颠勺练起(教学案例),练好了然后才能学做鱼香肉丝(商业项目)。

“飞机大战”类似学编程中切菜和颠勺的基本功,而第二个阶段开始的“大项目贯穿”才是鱼香肉丝。商业项目以快速上线为目标,追求效率,但不苛求高质量代码,因此不讲究章法,存在堆代码量的现象,往往A模块做完复制一下改改就成了B模块。

教学案例则相反,要求是经典的、没有冗余和重复、能够教会学员编程思想、数据结构、算法的,要让学员在最短的时间掌握最多的知识点,并打下坚实的基础,“拳拳到肉”才能学的更透彻!

2、“飞机大战”经典的教学案例,看似简单却真不简单

“飞机大战”只有500行代码,看似简单,却仅用500行就涵盖了JAVA编程所涉及的所有基础知识点,并且知识点的用法极其经典。满足了教学案例代码少、知识全、用法精的所有要求。1)代码量少“飞机大战”整个项目只有500多行代码,对于初学者而言压力更小,能够在最短的时间能,以最快的速度学习和掌握,并且完全手写!

2)知识点覆盖度高从基础的数据类型、变量、运算符、流程控制、数组、到面向对象的封装、继承、多态、重新、重载、接口等等,全面完美覆盖了JAVA编程所涉及的基础知识点,能让学生对JAVA基本语法有一个全貌完整的认知!

3)知识点用法经典知识点的运用讲究章法,不能滥用,这些是在“飞机大战“相应的场景中体验掌握的,避免生搬硬套、死记硬背,让学员知其然更知其所以然,学习效果及学习效率才更好!


java 飞机大战触碰物品代码大全 java飞机大战boss入场代码_飞机大战_02


3、“飞机大战”为什么是最最最经典的教学案例?编程行业存在大量的“野生程序员”——会一些语法、会使用现有框架,编写的程序也能跑,但是不知搭建原理、不懂底层编码,知其然不知其所以然。这一类程序员工作一段时间,会面临很大的职业瓶颈,非常痛苦,却不知道自己为什么面临瓶颈。

其根源就在于自己没有手工编写底层代码基本功,不懂底层代码的逻辑与原理。只学商业项目,没有编写过“飞机大战”这种原生编码的学员,就存在这样的问题。

而“飞机大战”等项目能夯实学员的原生编程能力,吊打“野生程序员”。

1)纯手工编写算法“飞机大战”项目是原生JAVA开发,除绘图以外都是手工编写算法,根本目的是锻炼学员的原生编程能力。而原生编程能力是程序员的基本功,是未来编程能力提升的关键!

2)底层编码逻辑为进阶架构师打下基础

相对于有一些语法基础、会使用现有框架,但不知搭建原则、不懂底层编码的“野生程序员”,我们的学员手写代码基础扎实,进阶架构师更轻松!让学员打牢基础,顺利进入第二阶段的学习,进而实现架构级的提升!

3) 激发天生的逻辑归纳能力逻辑归纳能力是对程序员的基本要求。“飞机大战”采用有章法、知识点全面而又好玩的教学案例来激发这种能力,而不是灌输、填鸭的模式,才能可以激发用户用户天生的逻辑归纳能力。

所以,“飞机大战”是最最最经典的教学案例,所以达内从12年开始,至今使用了8年。

03“飞机大战”的经典是10万次的实践和不断迭代而来

“飞机大战”并不是一开始就在使用,达内最先使用的教学案例是“俄罗斯方块”,但是在实际的教学过程中,我们发现该项目做教学案例存在一些缺陷:

1、算法过于复杂:初始学习阶段,过重的算法会降低学员对语法的研究,把学员带偏了2、不能完全覆盖知识点:不能使用到接口等语法,因此不能完全覆盖全部知识点,需要用其他案例再补充;3、逻辑无法扩展:只有7种方块,多一种都不可以,学员学习创造性无法发挥;

所以在2012年,“飞机大战”上线了!并且在8年中根据10余万学员的学习检验和实际反馈,不断迭代,才形成了今天最最最经典的教学案例。

04不是所有人都能写出“飞机大战”!

好开发工程师不等于好老师

一名好的JAVA开发工程师能够开发优秀的产品,但并不一定能编写好的教学案例,因为教学案例需要考虑到涵盖的知识点、知识点应用严谨性、学员的接受程度、对学员的帮助、案例的趣味性等等,一定要让学员在短时间内掌握快速就业的真技能!

而达内的讲师都是经过“ 十道门”的重重考验,项目经验与教学经验都要足够丰富,因此才能编写出代码干练简洁的“飞机大战”,才能开发出专业的、系统的、更契合企业需求的课程,才能让每一位选择达内的学员成功迈进高薪互联网行业!


java 飞机大战触碰物品代码大全 java飞机大战boss入场代码_java 飞机大战触碰物品代码大全_03


鼠标事件原理

最后,总结一下:1、“飞机大战”其实一直在变,说不变的只看到了壳,没看到核,所以说“飞机大战”不变的人,一定是个“外行”。

2、“飞机大战”是教学案例不是商业项目,连这个也搞不明白的人,是不懂教育的人。上来就教你炒鱼香肉丝的人,一定教不出一个“好厨师”。

3、“飞机大战”是锻炼你的原生编码能力和底层代码思维,跳过基本功到锤炼直接上“商业项目”,只能照葫芦画瓢,知其然不知其所以然。

4、“飞机大战”经过10余万学员的不断验证和迭代,才促就了今天敢称之为“最最最经典”的教学案例。没有调查就没有发言权,没有实践验证就不敢称经典。

最后的最后,“飞机大战”经典教学案例,只是JAVA基本语法的经典用法承载,就像写一篇作文前一定要先学会的遣词造句,而后面的“大项目贯穿”才是真正华丽的文章。