今天不讓他上線,就不回家

我今天(嚴格說是昨天)是用這個心情到新店的。 XD

老實說我真的一開始覺得這只是一個很簡單的小功能(其實實際上也是啦...),「我以為」三五天就可以輕鬆搞定,想不到弄了將近三、四個禮拜。不過話說回來,我好像也沒有做過哪個功能或系統我一開始會覺得很難的... XD

簡單說,這就是把一個系統的帳號同步到另外一個系統,就這樣簡單,我也不知道為什麼這麼傷人大腦,除了這兩個系統我都不知道他們在幹嘛之外,應該沒有很難吧?哈哈哈~

這兩個系統的帳號都是在DB裡,兩個DB我都從來沒看過,也沒看過全貌(也沒必要啦),從頭到尾我會用到的table就那幾個,我也不知道彼此之間的關係,然後code有強者已經寫好,我只需要把它拆開,稍微重組一下,應該就可以收工。

當然,事情永遠不是憨人想的那麼簡單,我想的太簡單了,當然其實現在我回過頭我也不知道為何這些小問題會花我這麼多時間。

大概歸納如下:
1. 兩個系統設計概念不同。(廢話)
2. 我想的不夠透徹。
3. 測試環境重建困難,無法和實際環境相仿。
4. 整份code我幾乎沒有完全看過,太多地方我不知道這些code在做什麼事,當然我不會知道這樣是否正確。

最後,經過幾次的蹂躪,我整份code翻到爛,我也終於明白怎樣寫程式才真強者,把程式寫到讓人看不懂是低等程式設計師的作品,除了祖宗十八代會常常被罵之外,還容易搞到自己暈頭轉向。

我隨便舉個例,像這樣的鬼東西就是會被我咒罵的:


if(!ObjUtil.defaultIsNull(a.getB().getC().toString(),FuckUtil.EmptyString).equals(c.getD().getE().getParent().getID()))) {
     return true;
}


然後重複30個這種東西。

我真的看到頭都暈了,我除了頭暈以外,請想像一下,老闆坐旁邊問一句,這是「什麼意思?」請你限時三秒內回答...

好啦,兄弟們,下次乖一點,不要再寫到讓叔叔我看不懂了~易讀性真的很重要,請乖乖的不要再用這種瀟灑的寫法,把該用的變數assign出來,會讓你我輕鬆許多。(拜託不要考慮那多出來幾個byte的記憶體了,我們的時間真的比較值錢。)

P.S. 作者如果不小心看到我這篇文章,我真的不是有意的,雖然每個人習慣不同,但是這樣的習慣真的不是好習慣 >"<

P.S再P.S. 好啦,我承認我懶惰,沒有全部砍掉自己重寫,但是我也有我的苦衷啊~試想我還要花時間看懂那些table在幹嘛,那些物件怎麼串,天就黑了。瞧我還不是付出代價了?

留言

這個網誌中的熱門文章

使用Mac的Preview來合併兩張圖片

Mac OS X 10.6.3 上的黑體-繁

關於 Kernel-Power 的 Error on Windows 7