小徐是我们公司的新人,自带N2以及小规模嵌入式c语言经验,领悟能力和创造性都很强,
作为一个30岁老油条,让他做回学校做毕设时有空做做俄罗斯方块的练习(基于code block控制台裸奔)
我是觉得期望不高的,没想到过了半个月回来公司上班,进展迅速,几天就搞定了。
看了他的程序有点自惭形秽了,逻辑思路异常清晰,包括为了移植单片机而要求的用位运算来做游戏池,
都做得很好,尤其是按键的控制,能做到就算一直按着按键,但只要超时就会下落。
他用了一个直接字面上翻译过来的结构,很轻松就搞定了。
代码类似于:
if(key != 0)
{
move(key)
}
cnt++
if(cnt >100)
{
cnt = 0
move(down)
}
很简单粗暴,又很合理,而我的老程序是把两个if揉在一起写的,可读性很差。
后来通过讨论,发现他也是按照我给的式样书的思路写出整套代码的,而式样书是我按照老代码每个模块有什么功能
按层级一层层说明过去的。其中就有提到(能做到就算一直按着按键,但只要超时就会下落)
这一句我从功能的角度说明的,并不是按照代码结构来说明,没想到被直接翻译成了代码。
得出的感悟,自己的代码再通读一遍下来,思路就会非常清晰,后边要再做一次的人通过这个思路去实现会有
一些更合理的分配和规划。反过来说,还是看式样书写得如何,式样书设计做好了,写代码也就会更合理。