1、接手ywca之初...

     我于09年6月毕业,在学校学了不多不少,基础不算扎实的编程基础,感觉自己算是爱上了编程这一行业吧。09年9月初,有幸入职DMA Solutions Limited 广州分公司。

     9月,用Java1.4 实现了对一个文件里面的内容进行读取,排序,并按用户输入要求,输出相应的结果。在此过程中,全程由香港的同事Jeff,通过teamviewer 和 Skype 远程教导我(谢谢Jeff)。

     所以,在接手ywca 前,算是对Java的基本的东西都稍稍复习了几下。

 

-------------------- split-line of a legend------------------------

 

 

     国庆节过后,香港总公司的一位colleague, Martin 带了装载着ywca 项目的VM过来。

     (注:1、Martin乃我目前最敬佩的人,无论是他的工作技能,对人态度!对我来说,受益匪浅!)

     (注:2、VM 即系VMware Workstation,不懂的可以查查看,这就不多累赘了)

 

     ywca 全名是 香港基督教女青年协会,其实就是一个类似培训机构,实行网上报名,租赁,缴费等等之类。主要由三部分组成,BackOffice、CMS、Report 。

     ywca开发环境:Windows xp, SqlServer2005, visual studio 2005, c#

 

     (注:3、因为ywca是用c#语言写的,本人一直学的都是Java,对c#研究不深,紧紧属于了解一点,因为其和Java语法部分相同,同时也没达到那些大牛口中的,语言就是工具,拿来就用的境界,所以,需要有人带我认识系统的操作流程)

 

     接手ywca的那天,Martin 向我解释了整个系统的运作流程,然后我的工作就是要去fix 系统出现的bug。

     由于本人是新手,对fix bug 没什么经验,听说,高手搞开发,他们所达到的高度就是见到bug 就能想到相关的代码,并能快速找到问题的根本所在,从而一一解决。我不是大牛,只能算新手,所以,我只能一步一个脚印的来。

    

-------------------- split-line of a legend------------------------

 

案例一:有人注册了个用户名,type 属于 non-member。系统的处理欢迎方式是,当type 为member 才会发送欢迎邮件。但现在的问题是,non-member 类型的会员,系统都照样发送欢迎邮件。

菜鸟我的做法:愣头青,不懂如何去做,只有要有个判断逻辑,但如何下手却搞不好,不是我不懂,那时候的心情,怎么形容呢,激动,以至于头脑一片空白,啥也不会想。刚好那时候Martin 远程辅导我,我才学到fix bug 的入门操作。

解决方法:1、不管是什么bug 都好,第一时间是自己要感受到这个bug 的存在,所以先要做的是去 模拟这个bug。

                    我先是注册了一个non-member 的会员,然后,查邮件,果然,收到ywca 的欢迎邮件。问题模拟到了。

               2、既然问题找到了,那就要着手去解决。做过if else 的判断逻辑,如果type 为 member,则发送邮件,否则不发送。

               3、发送邮件的是在按钮按下的那一刻,所以,判断逻辑要放在发送邮件的那个Button的function里面,并且在发送前做判断。

 

总结:这是个比较简单,比较经典的一个bug,但是从中却可以学到如何去处理一些简单的bug,也算入门了。

 

-------------------- split-line of a legend------------------------

 

 案例二:有个已经注册很久了的用户,之前的业务一直都成功。由于一些原因,她想改变她的LoginName。当System staff 去Update时,系统提示该LoginName 已经存在。但实际上,这个LoginName是没有人用的,它应该能操作成功的。

菜鸟我的做法:既然以前是有成功过的业务,我check 下DB里面有没有关于她的信息: select * from member_member where membershipno = '1234567'   ... 咦!有她的信息,EmaiAddress中有邮箱地址信息(这个邮箱地址作为LoginName,她想改另外一个),而LoginName 第一次是默认从EmailAddress中取值的,但是,为什么登录不了系统呢?我尝试在web Page 后台里面,为她设置一个新的LoginName:[email protected] ,居然成功,而她要的那个登录名,是用她自己的邮箱名,别人的可重复机率是非常之小的(再次check 一下DB,都发现我的判断是正确的,没人用她的登录名),但是,当我Update她的LoginName为她要的那个邮箱地址,却提示已经有人用,而DB里面是没有的。这就奇怪了。

                    遇到这种情况,对c#的菜鸟我来说,是不知道如何下手了。又得向Martin 请教...

解决方法

 

 这个问题对我来说,稍有难度,里面就加了这么一段代码

 

 

 -------------------- split-line of a legend------------------------

 

 

 其实很多bug 的逻辑,我们都要跟着前人的脚步走,去理解他们的思路,去模仿他们当初的想法,这样才能解决问题。

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章