我的ActionScript3.0的入门书籍《ActionScript3.0编程精髓》Colin Moock著林吓洪 译。这本书比较赞,值得刚学完ActionScript3.0的同学多次翻阅。译者林吓洪的又出了个比较欢乐的视频作品新作------《程序员都是SB》。里面有句话“寂寞的时候做什么?”“程序员:写程序员、写程序、写程程序。”程序员除了写程序还可以做点别的事情,与其他程序员的交流也是挺有意思的事情。
10月27日去参加GDG(谷歌开发者社区)Coderetreat2013的交流活动,这里分享给大家。
活动有五个单元,每个环节一个小时,组织与主持是LiaoYuan Zhang和谢海雁。
五个单元都是围绕着《Game of live》来展开的,你可以先去看看这个游戏的维基百科。
实际上,大多数程序员平时很少直接和纯粹的结对开发。今天的结对开发单元体验了一把结对开发玩法。不能去评论这个种方式开发的优与劣。事实上,我的搭档是用C语言,而我是用ActionScript3.0编程精髓,我们完全可以流畅交流,一起讨论数据模型和实现方案。最后因为ActionScript3.0编程精髓能较为容易的能实现显示方面的内容,最后实现的步骤由我进行。
单元测试与测试驱动开发这两个单元与我之前所开发的方式有点差别,先写单元测试用例,逼迫我在写实现代码前,提前进行需求分析、设计,质量量化控制。
比较喜欢的是代码重构这个单元,平时写代码,不加思考的写了蛮多Code smell。最常见的也就是Duplicated Code(代码重复)。写完一段代码之后,发现一些平时不注意的代码异味------过多的If else的重复使用。经过一翻初步重构后,从53行简化到15行。带来的是版面清洁,可阅读性增强。这里跟其他程序员的交流确实受益良多。
最后的环节是软件设计,任务是消除Game of live这个游戏当中的某个环节的所有的条件表达式,也就是说不能存在如while 、if这样的条件语句,这次是分七人一组进行讨论。这是件有意思的事情,为解决这个“怪异”的需求,两组人各用奇招,其中一组用的是稀疏矩阵的方式解决。别外一组,最终我仍是没明白最终采用的算法的原理。你也可以参考下LiaoYuan Zhang的博文中给出的算法------地址传送。最后放出我用as3.0写的Game of live部份代码(有意思的重构部份)。
典型的 Duplicated Code(代码重复)
重构之后