和大家聊下social game

laserdance 发布于 2011/03/04 10:49
阅读 391
收藏 1

前两天接到电话去面试,是做social game的。要求TDD(测试驱动开发),和人聊了聊,因为是互联网行业,要求反应迅速,比如昨天游戏策划提的需求,有可能今天推翻重新提。这个我们原来走的scrum开发流程,就是需求变化的时候也能快速迭代,不知道和TDD是不是一样的。因为他问我是先写代码再写测试还是先写测试再写代码,我是前者。回来后网上查了查TDD原来是先写测试再写代码。呵,估计不符人家要求了。还有面试中有个问题是 防御性编码 、?当时我想到的是 是不是在 方法中 写上Assert之类的,声明此处参数非空或其它的。。请大家讨论 给我解答 下。

加载中
0
SeekerLee
SeekerLee

不懂敏捷。但是再怎么样也不能:“比如昨天游戏策划提的需求,有可能今天推翻重新提”。

0
laserdance
laserdance

引用来自#2楼“SeekerLee”的帖子

不懂敏捷。但是再怎么样也不能:“比如昨天游戏策划提的需求,有可能今天推翻重新提”。

 嗯,这是面试我的哪人和我这样 聊的,我感觉不可思议 ,但他说因为是互联网行业,很有这个可能,特别是social game ,比如人家上一新游戏,创意很好,策划有可能就抄来了,让后台实现,所以就重新推翻。

0
疯狂的艺术家
疯狂的艺术家

TDD 的概念确实是测试先行,但是现在公司很少能真正完全做到这一点,敏捷的目的应该是更早的看到想要的效果,以免产品走入歧途,即使有错误,也可以以很小的代价来纠正,所以我们只要围绕这个核心的原则就好了,当然测试用例是少不了的,而且必须注重测试用例的高质量。

防御性编码:有些人有坏习惯性的判断 if (XX == null) return 这种防御性编码使得程序出错了,可是却没有做任何处理的方法(没有抛异常,也没有记录日志等),导致问题无法定位和查找。

0
laserdance
laserdance

引用来自#4楼“艺术家”的帖子

TDD 的概念确实是测试先行,但是现在公司很少能真正完全做到这一点,敏捷的目的应该是更早的看到想要的效果,以免产品走入歧途,即使有错误,也可以以很小的代价来纠正,所以我们只要围绕这个核心的原则就好了,当然测试用例是少不了的,而且必须注重测试用例的高质量。

防御性编码:有些人有坏习惯性的判断 if (XX == null) return 这种防御性编码使得程序出错了,可是却没有做任何处理的方法(没有抛异常,也没有记录日志等),导致问题无法定位和查找。

 谢谢解答,TDD我也知道现在公司做到的很少。

防御性编码是这样啊,我还以为像spring中在方法开头先Assert呢,一般进入方法是要先判断下的。我们原来处理的方法是未实现的方法抛异常,判断的时候logger .warn or error

0
胖猫
胖猫

防御性编码思路是好的,只是不做任何处理不地道

最差劲,也要写一行日志,描述一下现场的情况;否则出问题时,查错真的太痛苦了

返回顶部
顶部