前面很多人說得很好了,只做點補充
如果你是新手,前面說的那些絕大部份都跟你沒有關係,
因為你不具備相應的必要能力。
某些 case hard code 好,
但是你可能沒有辦法正確判斷倒底是不是那些 case,
某些 case 不要 hard code 好,
但是如果不幸你一直在很適合 hard code 的環境一直 hard code,
突然要你不要 hard code 你可能也寫不好。
還是最簡單直接的,查查 best practice,多讀幾本書,
不影響工作的原則下找機會多練,把自己的能力練起來才是真的。
到有一天不論是要 hard code 或好好寫 code 都能做好時,
再參考那些意見會比較有幫助。
而別人說的問題或缺點也不要照單全收,可以多查多想怎麼克服,
例如上面有提到 "你重構大家花時間陪你重測",這的確是個問題,
不過用 "refactor test long time" 這破英文餵狗他會吐給你
https://softwareengineering.stackexchange.com/q/103385
或許可以解決這類問題
總結
前面很多人說得很好,大神在板上,高手在民間
但是,新手不用想那麼多,先專心練功實在