這篇文我認為A大只講對了一半 看了滿傻眼
商業需求當然是quick response
相信大家都會被要求
但是這個世界並不是只有
fully quick response (dirty) or fully improving (refactoring)
並不是非黑即白
以A大舉的例子
為求迅速上線 你的確可以if 來true 去
今天早上改 下午就可以load
load完是green light
那就該開始著手refactoring and then modularize
這絕對是top 1 on the task list
想著怎麼把它做得更好
你今天不refactoring
明天又為了quick response而dirty coding
永遠沒個結束
沒錯 公司就是這樣 商業就是這樣
永遠都是商業導向
商業導向對我來說是甚麼:
那就是永遠都會有exception
你一開始structured method 沒做好
沒考慮到exception 沒關係
我們先workaround 後續慢慢refactoring 再排程modularization
而不是其他不懂程式的部門說這個exception 一定是the one 你就傻傻地相信
程式你在寫的 資料庫你在管的
他們有他們的建議 你自己要有自己的打算
而不是他們講甚麼你就照單全收
在程式面你才是主導者 其他人可以給你意見 給你建議
他們哪管你怎麼寫
反正其他部門只看現在能端出來的成果
他們哪會管你未來?
Dirty or not, who cares?
But you should be care about it!
而看A大舉的這個案例 雖然甚麼細節都沒有
但光看敘述此個案 其實要modularization超級簡單
實作方法很多 我想隨便拉個資工系工讀生都一海票可解
而不是萬年if if if if true true true
if 到後面別說別人看不懂 萬行code 跑起來容易有蟲
時間久了連自己都看不懂
那你怎辦 //應該一海票吧?
最終回歸一句話:
routine work or creative mind
二流SWE喜歡把簡單弄複雜 他人愈覺得艱澀難懂愈好
一流SWE喜歡把複雜弄簡單 他人一看覺得這好簡單