项目开发有段时间了,进入了阶段测试。然而在测试过程中bug连连不断,在抱怨产品需求的坑爹、不合理之外,我也一直在反思为什么会出现这么多Bug。
首先,由于项目开发的两个人都是新手,在刚刚认识MVVM架构的时候,就要将架构运用到开发当中。而对于我们,管理一两个ViewModel或许绰绰有余。然而面对一个多帐户管理、帐户有有张表,要同时维护很多个ViewModel的项目就有些不够看了。而当我们意识到这个问题,而且对ViewModel有更深的了解的时候,却没有更多的时间去重新架构或者修改架构。所以在此时,我才深深觉得有一个经验丰富的前辈来带领整个项目是多么重要。虽然,在做的过程中可以发现问题、得到进步,但是为此修改项目所付出的代价却是很大的。
接着,还有一点就是确实自身的经验火候有些欠缺,有许多很小的Bug往往是由这样的原因造成的。虽然改的时候总要抱怨需求太坑爹,这样的功能没有什么人会用,而且功能不合理。但抛开这些来看,如果现在再去做,完全可以避免许多这样的问题。在此,我不由得深深感慨在学校所做的项目完全太小儿科了。没有很多的限制、没有太复杂的逻辑,甚至连框架都不会去用。但是如果现在还抱着那样的心态去做项目,必然会产生很多问题。在这个时候,我很庆幸有些关键的地方做了封装,使得我在修Bug的时候省了许多功夫,修起来也容易多了。所以随着时间成长的不仅是技术还有经验,这些经验丝毫不比技术的重要性差。
还有就是,windows phone 8上的控件和机制确实还存在问题。有许多功能由于系统放给开发者的权限太低而无法实现,还有些问题是控件本身存在的Bug。例如当初Toolkit的LongListMutiSelector控件存在选择的Bug(最新版本的Toolkit已修复此功能),和WP8上TextBox长文本输入添加滚动条的Bug。除去系统本身的问题外,还有就是对Toolkit的某些控件特性不够了解而产生的问题。
虽然改Bug改得快崩溃了,不过收获也不小。总结下问题,以便下个项目能做得更好!