星期日, 1月 28, 2007

繼續前進

明天就要再度和上級見面,理論上今天應該是火速趕工才對,可是今天整個人卻很糟。

最近這幾天隔壁都在裝潢,所以早上我睡覺的時候電鑽的聲音狂響,半睡半醒折騰到十一點半起來,想說時間太晚就沒有去補習,就吃飯、看卡通迷迷糊糊到達下午。

下午開始以非常沒有效率的速度,半休息,半前進的繼續修改程式。前幾天瘋狂的加入功能,今天最主要都是在修Bug,因為我空間觀念很差,所以很多重要的係數計算我都會算錯,應該乘的弄成除,應該r'-r我弄成r-r',該倒數的沒倒數,邊界計算到處出錯。一堆Bug加在一起就造成圖會亂跳的結果,一下子圖破掉啦,一下子畫面變成全白啦,種種靈異現象,背後原因都錯綜復雜,只能一邊改Bug一邊期盼怪事會消失>"<

今天修改比較大的東西是Debug,之前Debug靠的是一個萬能的TextArea Control到處傳來傳去,哪個Class需要用到這個TextArea,就在那個Class挖個洞加個可以把TextArea Reference傳進去的Function,然後不一樣的Class之間又常常互傳那個Reference。結果到後來Debug就弄的很不方便,就花了一點時間寫了個Singleton把那個TextArea包起來。不過可能是我對Flash/Flex/ActionScript不大熟以及語言本身的限制,我在用Classname::Static method這樣的syntax時會Runtime直接報錯,寫Constructor的時候Flex帥氣的告訴我「Constructor must be public」,囧,那我還singleton個頭啊orz(Google上說這好像是AS3新加的規矩orz),但是Class內部加靜態變數這件事還做得到。所以結局就是我寫了一個要用new取得pointer,可是還是可以Get唯一Instance的詭異Singleton <囧>

今天還是有不錯的成績,把Debugger加強以後就抓到很多的東西,比如把小數點傳到只吃integer的Aperio Image Server(平常他竟然給我過@@a),弄好以後似乎就沒有看到捲動會有殘影破圖了(Update:其實還是有orz),大大小小的邊界計算錯誤更是修復無數。

現在比較大的一些缺點,就是畫面捲動碰到切片邊界的時候處理的不是很好,圖片換檔的時候會有空白畫面,螢幕會閃,還有一些雜七雜八的問題。

其實目前進度還算是不錯的XD。至少可以放大縮小捲動換檔,明天見到上級的時候有東西可以開心的炫耀,去要對學校其實是小錢,卻已經積欠我三個月的每個月四千元薪水也可以理直氣壯些XD(他說2/7一定會下來,不過之前已經有n次「保證」了orz)

接下來就是讓換檔Smooth一點,然後加入切片說明功能,再加入和遠端Server溝通機制,在真正會delay,會斷線的網路上測試,逐步邁向RTM之路。不過在此之前,又是得把已經被我改到亂七八糟的Code來個Refactoring。Refactoring這招很方便啊,可以邊整理邊發現bug,可以讓未來架構更清楚,可以逼自己看自己以前的code把自己拉回原點,可以邊refactoring邊聽音樂邊想接下來要怎麼寫XD)

唉唉,班網都還沒動靜耶>"< 全文連結

0 意見: