我只能說多數人很容易陷入以為全世界就是自己看的那樣
以成語來說大概就是以管窺天吧
你說每個類別都乖乖複製貼上
你有沒有遇過一次改版要改全部系統
然後你那些貼上的地方要一個一個改的情況?
我還真的有遇過而且才剛結束
有時候我真的很好奇是不是有公司用程式碼長度來算薪水的?
明明就是一樣的東西一樣的動作
就是有人不喜歡抽離成一個工具方法
然後每一個地方都複製貼上
最後如果要改版就得全部挖出來一個一個改
然後改的時候還要確認是不是有跟其他複製的地方不一樣
這樣有比較爽嘛?
我認為寫程式所謂的優美
指的是程式簡潔好讀
這不是什麼潔癖
而是為了讓你能準時下班的必備coding style
我名言就是「偷懶的最好方法就是一次把程式寫好」
一次寫好抽離能抽離的部份使之能改到最少
你程式問題少user也就少來靠北
你能準時下班的機會就多
一堆人寫出來的程式耦合性強到靠北
然後要改的時候就跟玩疊疊樂一樣
可能抽一塊積木就整個垮了
這時候也只能加班收拾自己造的孽不然還能幹麻?
然後因為耦合性太強太難改就會想一堆奇奇怪怪的解決方法
最後終於長成四不像的怪獸天天浪費自己甚至下一個接手人的生命
而且就我觀察
這種人幾乎都是覺得寫程式就是這樣阿
也不會再去思考是否有更好的解決方案
每次聽到有人在那邊大放厥詞說什麼物件導向、重構、設計模式沒用我就心裡偷笑
這跟公開大聲跟大家說「老子實力弱到連物件導向的好處都體會不到」一樣意思
這種東西你本來就是要會遇到你才知道他的好
沒有實際遇過你跟講一百遍你還是無法體會
寫過好幾年程式還不能體會這些好處
那我只能說什麼樣的人就會待在什麼樣等級的地方
這是我幹過駐點待過公司看過一堆人之後的心得
也是我給自己最大的警惕
※ 引述《allenxxx (fufuxxx)》之銘言:
: 個人是半路出家,去資策會閉關半年入這行的
: 不學無術先請別見怪
: 以我自己來說,從來不覺得程式寫法有甚麼優劣,程式是幫客戶解決問題的
: 只要能達到目的,效能可以達到,維護不困難
: 沒必要在那裏鼓吹什麼手法
: 當然或許是因為我做過很久的維運
: 個人反而不喜歡一堆抽象化的手法
: 當客戶火燒屁股電話追殺的時候
: 我還必須要追到抽象的類別或介面,然後判斷到底產生的是啥鳥物件
: 到底幹了那些好事
: 那開發者你還不如每一個類別乖乖地用複製貼上,我還比較好追
: 每個人都有自己立場
: 開發的人覺得自己的程式寫得很"優美",不重複
: 後頭維運的人如果技術層次跟不上
: 只有兩種可能,想辦法跟上,或是把問題踢回給你自己處理
: 另外像我有一個傾向
: 就是一個專案只要開始做,大家決定用甚麼技術後
: 不管有甚麼新的了不起技術
: 開會只要有人要用新東西,個人一概反對到底
: 除非不用無法解決現行問題,不然不管多沒水準還是一律要用一開始律定的技術
: 這是開發的紀律,要用請用在別的案子
: 很簡單,專案不是給你練功夫的
: 你懂別人不懂
: 不代表你厲害,只代表你"搖屁股",替"隊友"製造麻煩而已
: 像我就遇過很有進取心的同事
: 每一個功能,只要有進化的可能,他都要做點小修改
: 然後最初的功能跟最後寫的差很大...
: 等到他走了
: 接手他的功能,大家幹到沒力!
: 老兄,你還不如每個功能都一樣寫法!
: 以RD來說,這當然是有點不進取,我也承認啦
: 不過就像前面說的
: 個人維運做很久
: 有時候必須想的不全然只有自己的立場
: 抱歉以上得罪諸多高手之處,再一次致上歉意