看板 Soft_Job 關於我們 聯絡資訊
大家安安 最近教幾個朋友入門,發現trial and error這件事情,對新手來說很難理解 因此寫了一篇文章給他們 跟大家分享一下,謝謝大家 <( _ _ )> 網頁好讀版: http://blog.turn.tw/?p=2568 --------------------------------------------------------------- 最近想學寫程式的人很多,我身邊也常常有朋友問我怎麼開始。 許多文章在談選擇工具、程式語言的注意事項。 我認為最重要的注意事項是:電腦其實很笨,和它互動需要保持耐心。 不提醒這件事的話,初學者一碰上挫折會以為自己很笨,以為「自己不適合寫程式」。 一般人常覺得寫程式就是對著電腦打一堆神奇英文,像在施展魔法一樣, 只有厲害的人能做。 其實完全不是這麼回事。程式設計比較像是一直看到空白畫面、錯誤訊息,出錯、 設法解決、再出錯、再設法解決、結果又出錯。不斷來回循環,慢慢取得進展而已。 這就是大家常聽到工程師在講的「trial and error」。 沒跟初學者提醒這件事情,會導致他看到空白畫面就覺得挫折, 看到奇怪的英文錯誤訊息就想放棄。 有些人甚至已經寫出一點東西、根本已經順利上路了, 卻因為太常看到錯誤訊息就覺得「自己不適合寫程式」。 這真是誤會大了。coding本來就是用這種鳥方式在跟電腦互動。 這樣說可能還是有點籠統。那跟大家分享四個入門小訣竅吧! 訣竅一:至少要看到錯誤訊息 不管你在寫人生第一個小程式、架伺服器、還是連接資料庫, 失敗之後至少要看到錯誤訊息,才知道找答案的方向。 找找看去哪邊設定,讓錯誤訊息顯示在螢幕上或是紀錄在某個檔案裡吧! 訣竅二:大量Google就對了,再不行就發問 初學程式設計會遇上一堆問題,這個時候只要不斷Google就可以解決大部份的問題 (通常拿錯誤訊息去Google就有答案了)。 不要因為自己「一直在Google找答案」就覺得「自己不適合寫程式」。 就算是軟體工程師依然每天在Google上找來找去。 還是解決不了,就找批踢踢看板、臉書社團之類的地方發問吧! 訣竅三:遇到瓶頸,就降低目標,從簡單的開始 不用急著把書上的範例、網路上的範例一次做對。 想在介面上做出一個按鈕卻不斷失敗嗎?那就先在介面上顯示幾個文字試試看, 也許會發現別的地方弄錯了。 想把一串資料在程式間傳來傳去卻不斷失敗嗎?那就先讓它們互傳幾個數字試試看, 成功了再繼續往下走吧! 訣竅四:隨便瞎搞就可以了,有興趣的部份再鑽研 初學而已,你想做的事情有完成即可。 過程中許多部份會讓你覺得很「黑箱」,覺得自己沒有全都搞懂,好像在學假的? 大可不必這樣想。你不需要在一開始就弄懂每個細節。在瞎搞中獲得樂趣與成就感即可, 一些技術原理和細節,有空再慢慢查吧! 總而言之,看到錯誤訊息不要緊張,因為那其實是電腦在找你聊天呢~(溫馨) 不要把錯誤訊息和空白畫面視為挫敗的一種。把它視為和電腦互動的方式才對。 不相信的話,去問問身邊當工程師的朋友,問他們一天在螢幕上看到錯誤訊息幾次。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.227.195.239 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1438480584.A.83D.html
amazing2014: 先教try catch 08/02 10:08
zombiesky: 不太建議教新手try catch,先學會看錯誤訊息比較好 08/02 10:28
testPtt: 先教try catch第一次帶壞新手就上手 08/02 10:38
deo2000: 被電影誤導的吧? 以為要不斷key出很多字,順順的跑出很多 08/02 12:09
deo2000: 資料才叫做寫程式。 08/02 12:09
sing10407: 說真的,那麼好學 大家就起薪25k了 08/02 12:12
scott260202: 以我看到的經驗,第一點就很難。很多新手看到錯誤訊 08/02 12:31
scott260202: 息都是直接關掉或略過 08/02 12:31
MOONY135: 先有目標在學會比較好一點 過程中不懂得可以先寫完功能 08/02 13:11
MOONY135: 再回來研究 我自己是這樣..總比BUG找半天都沒有成果 08/02 13:11
MOONY135: 來的有成就感 08/02 13:12
monoceros629: 不要說新手,就算老手學新東西也是很挫折 08/02 13:16
monoceros629: 昨天把專案從swift 1.2 升級到2.0 跳出一大堆的warn 08/02 13:18
monoceros629: ing & error,挫折到決定先睡個覺,今天再玩 08/02 13:18
siriusu: 真有趣 推 08/02 13:43
amazing2014: 區域變數畫表,人腦complier,每行都印出來 08/02 15:08
johnny94: 這篇還不錯 推 08/02 15:09
myhome6206: 其實現在寫程式 沒看到error反而心裡不踏實 08/02 15:50
Fracon: 沒出現error反而覺得有鬼吧 XD 08/02 16:21
aiyswu: 沒error還好吧 碰更多是邏輯或異步順序問題 這種都沒err 08/02 16:24
volation0916: 有給方向,推 08/02 17:06
allenxxx: ERROR好找,邏輯上的問題才會找到翻臉 08/02 18:19
neotek: error才好找+1, 邏輯有問題才崩潰 08/02 18:38
yuanyu90221: 恩恩~碰到邏輯跟異步問題真的比較麻煩 08/02 18:48
Ekmund: 邏輯 還有某些特例狀況才會機率性掛掉的東西 會崩潰.. 08/02 20:01
amazing2014: overriding忘記改return值 08/02 22:35
tomroy: 沒error真的比較崩潰... 08/02 23:52
chan15: 打完一大段後執行完全沒錯誤感覺怪怪的 XD 08/02 23:53
amazing2014: 我做出來了,我不知道為什麼 08/03 00:09
kattte: 我用php時常常發現整頁都是白的XD 最後總是發現少個()或 08/03 00:16
kattte: 多個' 很囧 08/03 00:17
abccbaandy: 樓上一定沒用IDE...話說我覺得沒IDE能寫程式真的很神 08/03 00:31
y3k: 幹這行本來就是荊棘險阻可歌可泣 "會做"和"職人"絕對還是差很 08/03 07:24
y3k: 多 08/03 07:25
wezmag: 教新手寫程式,一定要教如何Google stackoverflow! 08/03 08:28
A4P8T6X9: 寫一堆code沒error自己都會怕XD 08/03 08:32
EraKing: stackoverflow除錯工程師報到 08/03 09:11
wesley234: 這種程式語言會細心呵護北爛的程式 08/03 09:13
realmeat: 學著去用 debuger, 功力會大大增強 08/03 10:36
iWRZ: compiler 結果沒跳 error 才恐怖 08/03 12:42
vn509942: stackoverflow小書僮 08/03 12:59
aiyswu: 沒IDE有很神嗎 不是很多人用text editor而已? 我就是阿 08/03 13:10
allenxxx: 人家有千禧蟲,我遇過"民國蟲",前手是天才,"年度"欄寬2.. 08/03 14:31
allenxxx: 編譯?當然過!可是時間到就死給你看! 08/03 14:31
aa40105: 沒跳error 才恐怖 XDDD 08/03 15:33
zapion: trail and error其實非常挫折, 尤其只看到 seg fault 08/03 19:23
z101924512: 沒跳error 等於以後會死的不明不白 08/04 11:55
meowyih: 我用 UltraEdit 和 Notepad++ 寫了好多程式... 08/04 13:36
pptsodog: 愛用Sublime text 08/05 12:21
changdan: 萬事起頭難,有個開始就是好事。 08/06 13:15
fwuck: 真的每天都在找BUG 08/09 20:59