星期二, 1月 30, 2007

繼續努力

昨天和今天的主要行程就是補習班聽生理和寫程式,程式寫到快爆炸orz

這兩天為了解決「圖片換檔畫面會全白」的問題,必須在主要Canvas的正後方再放一個Canvas專門放低解析度版的圖。昨天就很阿莎莉直接開Flex暴力加一個新的Class下去,一不小心就把物件之間的關係弄的烏煙瘴氣,整份程式碼的流程變得難以索解,除錯到晚上也沒什麼進展。冷靜想想這樣不是辦法,就頭一次狠下心來解壓縮備份的程式碼....

各位看官假如有寫程式,千萬要記得「右鍵->壓縮到」這個好習慣,然後一大堆不一樣版本的程式碼就存成一大堆不一樣的檔名就可以了,不要覆蓋。程式設計師的預測能力畢竟有個限度,有時可能寫了很多東西才發現從幾天前開始整個方向就錯了,或是刪了不該刪的東西需要很久以前的某個class,這時候有一大堆版本的程式碼就變得非常好用,好像有了小叮噹的時光機一樣啊XD。當然,按備份的時機也很重要,做重大feature addition之前一定要備份這是當然,殺一堆蟲以後備份一下也不錯XD

今天補習回來第一件事情就是把程式碼該弄成Singleton的東西全部變成Singleton,然後去Google才發現之前我搞錯了,原來Flex還是直接支援呼叫class的靜態方法,但是用的是dot operator而不是C++設計師慣用的Scope operator。雖然還是沒辦法克服「A constructor can only be declared public」這個難題,不過程式就我一個人在寫,也不會有死白目去new singleton。(Update:有人提出這個辦法,不過算了懶得去改XD)

把東西變成很多Singleton然後再把某肥大Class拆開以後事情就好辦很多,加了Singleton雖然浮現出一先不同Singleton之間dependency的問題,但是卻砍了很多「SetXXXXX」這些沒有重大意義又會把流程弄複雜的function。接下來加了換檔緩衝和除錯以後,我的Viewer和官方的Viewer比起來,除了沒有按縮圖跳躍和根據Annotation跳畫面的功能以外剩下應該都差不多一樣了。。一個類似Google Map的程式就被我這樣完成了XDDDDD

快要二月了,必須趕快設法寫出把切片從網路上拉回來的部份還有Annotation的部份才行orz 全文連結

0 意見: