- 一定是创建订单的时候填充market字段,我曾经一度打算在回调的时候再根据回调方来填充Market,但是如果没有回调呢?Market这样的标志性字段一定要依赖于靠谱的操作;
对于重载方法要注意,尤其套调用的重载方法,对于某些核心校验必须要放置在里层方法调用,否则因为重载都是public出去的,都可以被外界调用,如果在外层方法实现校验,里层重载方法被外界直接调用,校验会被跳过;考虑CheckMarket是放在CreateOrder(String encryptedString)还是CreateOrder(OrderInfo orderInfo)中实现?前者解析加密字符串调用后者,最后想通了是要放在后者中进行校验;
- 设计的时候一定要在设定的场景中多走几遍,这样做的目的是跳出实现,要把实现放在应用中进行验证;本质:任何实现都是一个流程的一个环节,其意义在于上下游,而不是实现本身;
- 获取玩家信息其实使用旧有的接口即可,但是我却搞混了玩家信息表和订单表;分析问题就是要极端:向上谋求大的方向,向下到根(表,字段级别),谋求准确;
- 自定义异常很大程度上解决了测试异常的问题;比如现在使用resultCode来判断错误类型,如果使用异常的话完全可以利用Exception进行处理;另外.net的ExceptedException真的好弱啊,只能判断类型,Message都指定不了,难道只能try...catch中增加assert吗?
软件设计
原文:http://www.cnblogs.com/xiashiwendao/p/4805015.html