作者ledia (下班後才下棋)
看板C_and_CPP
標題Re: [心得] 學好程式設計的訣竅
時間Fri Oct 8 20:13:52 2010
※ 引述《TeaEEE (愛不趴 不愛趴)》之銘言:
: RD Manager與老師教學生寫程式要加註解我是同意的,但學生在學習寫程式的過程中,我
: 建議是不要寫註解。很吊詭嗎?
: RD Manager是從工作的角度來談,他當然希望寫出來的程式,能除了開發者以外其他人也
: 能接手,就像你提的,開發過程中可能會做出不是很合理可是能動的code,例如一些魔術
: 數字,特殊的例外邏輯,這時若沒有加註,其他接手者(or自己)可能會很難維護。
: 但我從學習的經驗來談時,避免在程式中寫註解,也避免看註解,是對自己的一種訓練,
: 如果我們寫出來的程式碼,不靠註解無法理解時,是否該想一下如何讓自已的碼更為簡單
: 且可以理解?如果看自己半年前的程式碼無法理解,那是否該趁機做些改善,是否要重構
: 或重新設計?這些在職場上迫於時間壓力或許無法允許如此做,若不趁學生階段養成寫好
: code的習慣,未來可能就難以擺脫。開始這樣做時應該會很痛苦吧!但也只有這樣,才能
: 讓自己的coding習慣提升到一開始就能寫出看的懂的程式。
: 同理,學習閱讀無註解的程式碼,也是一種訓練。如果,寫的再濫的code,我們都可以直
: 接看code而理解其問題所在,在未來職場上就不會受限於前輩的濫碼而有加不完的班。
: 如果是很複雜的程式,那要寫多少註解才能解釋的清楚?這時我們需要的不是註解,而是
: 規格與設計圖。其間的修改需要的是版本控制。
我覺得你的說法雖然沒錯
但是有一點太過理想
要讓自己能力變強
能看懂各種奇怪沒註解的程式碼
但往往奇怪的程式碼總是無限可能
再怎麼努力都看不完形形色色的怪程式
此外, 即使自己能看懂自己不寫註解的程式
也不代表別人就能看得懂
畢竟每個人的背景知識, 邏輯, 習慣都可能有很大的差異
有的時候自己覺得寫得很清楚
但是別人沒有你之前的經驗
有些關鍵地方就是看不懂為何如此
基本上這些軟體工程的流程
訴求的是能夠解決再團體開發的情況下
你不一定能掌握所有工程師的所有能力
所以只好用嚴格的規範來讓大家都看得懂大家的程式
註解、文件、版本控制系統都是為此而來的
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.51
推 ainigi:無法maintain的code等於useless 10/09 00:28
推 cobrasgo:應該不會有無法maintain的code,只是從拿到到能maintain 10/09 22:44
→ cobrasgo:要花的時間差很多 10/09 22:44
→ tinlans:有本事把 code 寫到跟課本上寫的 psuedo code 長得一樣, 10/09 23:26
→ tinlans:那註解根本就只是多餘了。 10/09 23:26
→ tinlans:其實要做到這樣並不難,只是很少人願意。 10/09 23:27
推 loveme00835:推 t大 :) 10/09 23:30
推 purpose:我這肉腳看Introduction To Algorithms的排序psuedo code 10/09 23:40
→ purpose:沒辦法看懂...加了圖好一點,通常還要看文字說明 = = 10/09 23:41