作者Hiigara (西亞加拉)
看板Soft_Job
標題Re: [請益] 一點感觸..
時間Fri Apr 15 00:57:26 2011
※ 引述《guest0710 (guest0710)》之銘言:
: 我只是一個剛出來工作幾個月的小菜鳥..
: 知道自己其實沒資格挑..但是請容許我吐點苦水..
出來工作了幾年,其實看到的狀況也差不多 (苦笑
我在傳統產業工作,公司的資訊系統是某套已經演化了十年的怪物
裏面充滿了各式各樣的誤用、騙人註解、dead code
我很幸運,管轄範圍內最噁心的東西,也不過就是接近千行的函式、二三十個
沒規律的 if-else 、或是海量毫無意義的 factory pattern
聽過最糟糕的例子,則是隔壁的同事管的某隻作業是個上萬行沒註解的麵條 JSP
文件就別提了,規格書一應據全,不過內容物跟程式已經脫節了不知道幾年
不過我沒什麼資格說人家,自己也很討厭寫文件,是靠註解過活的人
當初剛進公司的時候真是超沮喪的
每天回家都在抱怨垃圾 code 啦,抱怨同事不行啦,對什麼都看不順眼...
不過做了一年,真的理解公司的業務之後回頭再看,感覺又不一樣了
可能是某人同時趕著好幾張問題單沒空更新,改完後又被抓去做其他事
可能是業務單位被客戶當狗騎,只好壓著我們今天改這樣明天改那樣
可能是某個人想試著簡化程式碼,但是沒完成或沒說明清楚...然後又被別人拿去用
當然,也可能是業務邏輯真的就是這麼複雜,很難簡化
有些看起來很莫名其妙的程式,可能背後有很重要的業務原因
我們住在一個不完美的世界
試著寫出讓自己三個月後還能看懂,又能應付業務單位需求的程式碼是如此困難
對公司來說,公司不可能給我們足夠的時間跟人力去把整套系統翻過
資訊是輔導業務單位的工具,不是公司的核心
大老闆只會給予剛好足夠的資源,讓系統能夠繼續運作下去
正如同大多數公司不會蓋一間宮廷般的廁所
所有人都不能沒有廁所,但花費這麼多資源在廁所上不合效益
有時會羨慕那些網路上看到,好像很強的救世強者
不過他們對髒兮兮的傳統產業可沒興趣也不理解,他們大多活在充滿技術人的世界
在這裡的這群雜牌軍,只能自救
我現在每週平均花半天到一天的時間在 refactor 自己的東西
說是 refactor ,常常我做的也就只是把程式碼重新排版,有時光是這樣就能讓一堆
麵條變得好啃許多。沒意外的話,明年的這個時候,我手上的系統會變得比以前好懂
一點點
同時我也努力的在讓自己寫出來的東西能夠好懂一點,但要兼顧效率、功能、跟美觀
真的是很困難的事情,難怪那些名牌跑車可以賣這麼貴
甚至是寫給人家呼叫的 API ,都要先想過一堆東西,確認設計成不容易因為被誤用而
出問題的樣子,然後才給出去
撥時間做這些事情,不是因為這樣是「正確的」或「應該做的」,只是想讓自己
未來工作的比較輕鬆而已。
更何況,面對人比面對 code 困難的多,面對業務單位又比面對資訊單位的同事困難的多
我必須要準備能面對他們的武器才行
而只有在通盤了解業務邏輯的時候才知道該往哪些方向準備武器
這是任何技術文章都不會教導你的,也是剛進公司無法真正了解的
思緒有點雜亂,大概是我該睡了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.105.51.121
※ 編輯: Hiigara 來自: 112.105.51.121 (04/15 00:59)
推 hentai:推~~ 同理心 04/15 01:04
→ Hiigara:嗚喔,好ID... 04/15 01:09
→ andymai:時程趕又要寫出好code~沒有強大的know how跟設計思維輔助~ 04/15 05:30
→ andymai:只能靠佛心的重構了吧~偏偏"時程趕"又跟"佛心"是相衝的 04/15 05:32
推 dyco:很多人寫程式都是抱著"射後不理"的心態 04/15 09:53
推 aling366:推!看來很多MIS都是如此.. 04/15 11:03
推 MiLu307:寫得真好... 04/15 12:38
推 edward13:淚推 讓未來的自已輕鬆好過一點 04/15 18:24
推 HeartMail:剛工作看完很有感覺... 04/15 23:10
推 prag222:為什麼最近重構這麼熱門!!!!寫法都有問題了還重構 04/15 23:50
→ pokerhand:寫法有問題還不用重構嗎? 04/15 23:50
推 willy0529:推! 04/16 00:44
推 tsaomimo:推~看了好有感觸!! 很多時候只能先從自己做起... 04/16 09:07