终于看完了,玩了一会自己做的俄罗斯方块,感觉很不错,我平时写代码,都是把local.js和game.js里面的逻辑揉在一起,比如改变分数,估计就不会写好几个function了,可能就直接把所有的逻辑都写在消除方块的那个函数里了,老师的代码分开的,我总是不习惯,大家平时也是这么写嘛?
练习都不是这么写, 这么写的好处,易维护, 高内聚,低耦合。
大白话:
高内聚 每个方法或者功能只做一件事情, 以后要改要求,可以快速定位这个方法修改即可,不需要管他方法。
低耦合 每个方法不需要在 方法内部引用其他 方法, 方便调试。
如: initGame() // 初始化方法
. Square() // 获得 方块的方法
autoMove() // 自动下移的方法
removeX() // 消行的方法。
老师代码中有一个地方 在方法内部 引用了其他 isValue() 方法, 是用参数形式传递进去,方便阅读。
老师还在项目中引入了 类 。
大白话: A函数内部 也可以有很多函数(方法) A就相当与一个包裹很多方法的房间, 我现在有 A B C 三个房间, A房间 放的 衣服 , B房间放的是你的书, C房间放的是你心爱的玩具
我今天做了一个爆炸头, 需要一个颜色抢眼的衣服, 那么我就会去 A 房间找衣服搭配, 不需要理睬 B C。
这就是类的好处, 方便程序员 记忆 阅读 修改, 不是用来装逼的。
这是一种mvc的思想,以前没有接触过,现在正在慢慢学习这种思想