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 的邏輯,我們都要跟着前人的腳步走,去理解他們的思路,去模仿他們當初的想法,這樣才能解決問題。

 

 

 

 

 

 

 

 

 

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