費加洛
14 years ago
以下是我長期的實際見聞:開發人員學越多新技術,通常傾向在系統中架構更多維護門檻,而很少因為得到新技術啟發而讓系統變得簡化易懂。(簡化易懂不是指原作者的標準,而是指接手人員的標準。)應該在管理上有miss掉了一些點,正在找尋中。
latest #55
費加洛
14 years ago
因為我自己常犯這個毛病
費加洛
14 years ago
別人的等於難維護;自己的等於好維護:這是一定的。這裡講的是,別人的高科技程式碼,往往反而比另一個別人的陽春程式碼難維護。
費加洛
14 years ago
手上的例子是,有些Struts + Spring + Hibernate + Wicket + jMock + .....的系統,常常一大串複雜不得了的code只是為了超簡單的增刪改查功能。 SA要求一些常識判斷很簡單的功能,開發人員同聲說一串連我都聽不懂的理由,說很難做。
立即下載
費加洛
14 years ago
我敢說那些code即使用最令人詬病的JSP+SQL,SQL直接噁心地寫在頁面上,也會容易維護得多。
費加洛
14 years ago
並不是高科技code跟難維護有直接關係。而是沒有能利用陽春架構就把程式寫乾淨的人,交給他太高科技的工具,會造成更大的災難。
貓女不在家
14 years ago
費哥,我快離職前遇過這樣的狀況也是差點沒掉下巴,都怪我以前太混沒有親自下去看系統,沒有發現架構已經變成大怪獸...
貓女不在家
14 years ago
只是改個msg內容竟然要用到工程師 orz
費加洛
14 years ago
唉呀!貓女怎麼進來了,好尷尬。
費加洛
14 years ago
其實這是很普遍的(anti-)Pattern,我前幾年也做過不少,才意識到這個問題。
費加洛
14 years ago
我前幾年也做過不少(孽)
貓女不在家
14 years ago
阿勒,幹嘛尷尬,我知道這個情況,所以才拜託大師去幫忙解救的 XD
喵尾巴
14 years ago
哈哈,我其實不太理解為何會發生這種事耶~ 照理來說都用pair programming 了應該代表如果這code 不是兩個人都看得懂是無法被commit. 但事實上好像又不是這樣
喵尾巴
14 years ago
Simple design 為何會不夠simple ? 會不會是整個context 有意無意這樣鼓勵? 不simple 的design 有時看起來比較炫,比較容易讓人覺得亮眼?
費加洛
14 years ago
每個失敗的故事都有不同的原因。以前每發生一次我都覺得那是特例,學習教訓避免重蹈覆轍。但是下一次會有不同的問題發生。現在我是覺得技能的問題不能期待用儀式與framework來彌補。JSP+SQL如果不能處理得乾乾淨淨,千萬不要鼓勵用Wicket。
費加洛
14 years ago
修正:我覺得SQL用得不好,不要用Hibernate。HTML/CSS/Javascript/JSP不能掌握,就不要用Wicket。
費加洛
14 years ago
不會手動mock object就不要用mock framework
費加洛
14 years ago
所以我自己不主動用Wicket和jMock,因為技能不足。
費加洛
14 years ago
不常試著手動OR Mapping也不要用Hibernate
費加洛
14 years ago
(因為我過去錯誤而受害的人,真是對不起呀!) :-P
費加洛
14 years ago
yao_h: 在開發階段就出問題,是業界的常態。開發人員如果都有大師的1/3功力,問題就小多了。我沒有客觀的標準,只能依經驗去猜。高科技是無罪的,可是不會用的人去用會更慘。最近有一些誤用framework的系統,我用盡力氣把framework拆掉,程式變簡單易懂多了。
費加洛
14 years ago
當然如果加進適當的Framework可能會讓它更乾淨,可是我不敢做了。怕有一天又被誤用造成新的污染。
貓女不在家
14 years ago
現在小孩學了一堆framework結果反而基礎功都不行嗎?
費加洛
14 years ago
雖然說有主觀成分,我覺得很扯的code還是有一些公認的標準的。假設是個簡單的增刪改查功能,現在要只是要多顯示兩個欄位,用陽春的技術寫code也許接手的人一樣不樂意,會不屑於它的架構,可是我確定很容易就知道我在做什麼。幾分鐘就可以完成。
費加洛
14 years ago
大師也許很難想像,不好的高科技系統,即使有經驗的人,加個欄位也要半天到一天。而且要這麼久是開發團隊的共識。更何況新手接手。
喵尾巴
14 years ago
LightAndSound: hibernate + wicket 搞掛的?
貓女不在家
14 years ago
我覺得是mock...
藍色玉米月亮
14 years ago
投費教授一票
費加洛
14 years ago
ihc: 哇!這篇太帥了!
費加洛
14 years ago
Hibernate, Wicket 在實務上都常遇到類似抽象層漏水的問題
費加洛
14 years ago
cookiemouse: 老實說,我也同意耀大師說的高科技無罪,不想說是Framework惹的禍。即使是最普通的應用,大多數framework不能完全取代他底層的技術
喵尾巴
14 years ago
yap 同意。不用hibernate 和wicket 照樣會出問題就是了,只是用hibernate + wicket 團隊好像比較容易對問題麻木
貓女不在家 分享
14 years ago
為什麼軟體工程無法估算時間? 現在搭配這篇文章看有沒有覺得很心酸...
喵尾巴
14 years ago
我好喜歡這句 "如果第一個版本推出時你不會覺得丟臉,那就是花了太多的時間"
貓女不在家
14 years ago
cookiemouse: 這種可能性還蠻低的吧? 軟體業界有機會不丟臉的吧?
喵尾巴
14 years ago
看不懂上一句 @@
貓女不在家
14 years ago
工程師怎麼可能有滿意的一天?
貓女不在家
14 years ago
不然就是公司哪有可能給你滿意的時候 XD
藍色玉米月亮
14 years ago
但是不會喝下過多的咖啡因...
藍色玉米月亮
14 years ago
"如果第一個版本推出時你不會覺得丟臉,那就是花了太多的時間" 還要加上定律二:不會有第二個版本
喵尾巴
14 years ago
elinwang: hmmm 請看我離開X網後的公司,那就是最好的借鏡
喵尾巴
14 years ago
費哥的噗是公開噗,我不敢講太明="=
貓女不在家
14 years ago
我可以私下再問你 XD
費加洛
14 years ago
ihc: 不會有第二個版本。帥!
費加洛
14 years ago
elinwang: cookiemouse: 我把猜想的原因放在另一個新噗了。我猜除了個人不同的情形外,共通的問題在開發規範。
back to top