使用脚本开发,TDD尤为重要
现在正在开发一款游戏,服务器只是用c++搭建了基本的支持,包括网络通讯的打包减包加减密,事件的分发模块,基本对象状态的维护等,其他所有游戏业务逻辑都是lua脚本完成(包括player这样的对象)。 Player = Class.extern({ init = function(self) self.state = EGUS_LOGINNING
getState = function(self) return self.state end; }) 对lua的源码做了些小改动,去掉了:形式的调用,例如 player:getState() 可以直接写成 player.getState(),而无需传入self本身(player.getState(player))。 由于lua是一种动态语言,对类型无静态检查机制,这给重构带来很大困难,由于起先的部分代码都不是测试优先的编写方式,现在再做一些重构感到很困难。 只能慢慢的补起来:(。这些经验教训让我觉得如果用动态脚本(包括lua、python、ruby等)开发大型游戏,TDD将是最好的选择。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |