※ 引述《iman00b (I'm a n00b)》之銘言:
吃掉~
: 我就這樣被上了一課。
: 之後的日子裡,我經常會遇到我認為是醜的不能再醜的代碼。儘管如此,我也不通篇否定
: 它們了,我只會在其中找一些特別的無法容忍的部分重新編寫。可10次中有9次,當我快
: 要完成時,我發現了一個問題使我不得不對自己說「哦,怪不得他們要寫成這樣了」,然
: 後把代碼恢復成原樣,或也使用同樣「醜的不能再醜」方式完成它。
: 現在我變的更成熟了,我可以充滿自信的告訴你,我再也不會看著別人編的代碼說「哦,
: 這代碼很爛」了。我知道,在沒有瞭解整個程序的解決方案之前,你不可能就那麼輕易的
: 判斷代碼的好和壞。真的,有時候它看起來很傻,或完成的不好,或沒有文檔標註(我的
: 意思是自我註釋),然而,你根本就不可能知道程序員在寫這段代碼時腦袋裡是怎麼思考
: 的。更多的情況是,他們要選擇這樣做是有一定的理由的,除非去深入的研究它們,你不
: 可能再有其他簡單快速的方法來理解程序的上下文環境。
: 所以,每當聽到有人看著別人的代碼說很爛時,我只會微微一笑,讓我想起我當年的天真
: 和盲目自信。的確,我以前堅信自己是個出色的開發人員,堅信知道每種算法的最優設計
: 。我很想念當時的自大,但是我很高興現在學到的這些理念,我知道,我唯一能鄙視的代
: 碼只能是我自己的代碼,鄙視的原因就是我不能使它變的更好。
看完後還覺得蠻有FU的
想當年還是有著一股熱血的年紀時,這篇文章簡直是100%的描述了我當年的情形
在經歷了許許多多次的自打嘴巴之後,我決心要有改變!
當我看到一段程式碼時,如果我覺得它很爛,那我要明確指出它哪裡爛? 而且到底有多爛?
這段爛程式碼造成了多少的問題? 以及盡可能的去理解為何會有這種爛程式碼
如果以我新的程式碼下去能解決什麼樣的問題? 最重要的又會造出什麼樣的問題?
在我強力的自我要求與實行之後,我明顯的減少了自打嘴巴的情形,最重要的還學到了一些
"賢敗"們嘔心瀝血的結晶...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.127.139.239