作者yauhh (姚呵呵)
看板Soft_Job
標題Re: [請益] 怎麼和人做程式的觀念溝通?
時間Wed Aug 27 04:06:39 2008
※ 引述《andymai (阿龍)》之銘言:
: 最近...還蠻容易抓狂的...=.=
: 因為有人老是問我很奇怪的問題...
: 譬如:
: 老是一劈頭就問我:怎麼會這樣?我明明在本機端好好的~怎麼在測試機就掛了?
: (大哥! 程式是你寫的~我怎麼知道會這樣? Orz...)
: 第一次執行網頁...
: 發現後端Server接收到前端網頁傳來的數值不對~不去看前端網頁到底傳得對不對
: 開始看著後端的程式碼亂猜為什麼會傳錯...
: (大哥! 又不是簽樂透用猜的~如果用猜的也能除錯~那樂透得主不就是最強的工程師?)
: 反正前端網頁傳錯~所以乾脆將錯就錯~改後端的程式碼~試著讓結果正確...
: (我看著他~真的一句話都說不出來 Orz...)
: 明明就是前端網頁傳錯數值~還要跟我講他要做的程式邏輯是怎樣又怎樣...
: (大哥! 你的程式還沒跑到邏輯那邊就註定是錯的結果了啦...Orz)
這邊大概是溝通的關鍵吧! Sever沒問題就不必再談.
重點是趕快找到例子把前端傳錯數值的情況顯示出來給他看,
然後告訴他:「你給後端錯的輸入,輸出就是錯的」
相信這樣講之後,他就不會再繼續扯他的前端邏輯多麼正確了.
他沒辦法畫流程圖. 但起碼你可以畫出一部份流程圖跟他溝通.
: 一直跟他說要去看前端怎麼傳的~後端接到是不是對的
: 結果他好像沒有聽到一樣~一直用他的想法去猜是哪裡錯...
: (大哥! 我真的不知道怎麼講了啦...程式這種東西不就是從頭跑到尾嗎?)
: 網頁只要一開出伍佰(Http 500)跟他喊:朋友!順啦!
: 也不看網頁上面印著哪裡錯~就開始埋頭改程式碼...Orz
: 另外~還有人不想Trace和不想看錯誤Log
: 一出錯就看也不看的趕快把錯誤視窗按掉...
: (我真的傻眼了...這招是所謂的"掩耳盜鈴"~還是"眼不見為淨"?)
這些情況太寫實了,也顯示出當前程式訓練的困境.
學網頁程式設計的人太多了,scripting讓技術難度變低,跨足門檻低.
但很多人都會訛傳著一個錯誤的觀念,就是:「會寫程式需要天份」.
因為是天份,所以好像不加思考也沒關係.
因為是天份,所以遇到狀況了,表示錯誤由某處造成,至於哪裏做錯,用猜的吧!
遇到錯誤,心煩了就給一個解釋說: 七月半到了; 讓人聽了實在笑不出來.
坊間的書籍只是一味地示範程式有哪些語法,並且怎麼寫.
但書中只看得到什麼程式和什麼預期結果,卻沒有提一些對程式設計師很重要的
測試程式的方法.
英文的初學者書籍起碼還會看得到一點點流程圖與測試的說明,
但中文書......哎! 建議中文書的作者們,
如果你沒有非提不可的要點,就不要出書了. 多一本可有可無的書實在沒價值.
有一環是目前程式職能教育很欠缺的,就是程式狀態的assertion練習.
有句話說「寫程式的人邏輯要很好」,邏輯的確就是指課堂上會讓人睡著的
那些公理公式. 可是很多人誤以為邏輯是一種神化的天份.
基本的程式檢查是把程式每一步的執行狀態列表寫出來,前後比對哪一步
發生問題,再看看發生問題段落的程式碼.
條理抓清楚就不會錯,但很多人就是懶在這關鍵處.
此外,流程圖也是一種很重要的思考模型,
但可能有些人連畫對圖型都有困難.
但當前高等教育都沒有教程式的推理,而且也根本教不動,
因為現在小孩子在大學電腦課都在玩遊戲. 作業用抄的.
不唸書,不思考,不閱讀說明並且怕看到錯誤訊息的人越來越多了.
在程式開發環境越來越難 "生存" 了,哈,哈哈哈
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.160.115.180
※ 編輯: yauhh 來自: 218.160.115.180 (08/27 04:19)
推 spinda:我也是剛出社會的菜鳥 但是超愛debug的 看到bug都會興奮 08/28 22:15
推 andymai:樓上~如果離"死線"越來越近~你也還會一樣興奮嗎?... 08/28 22:58
推 spinda:呃....我的習慣是 先做一點點初步的東西出來 然後拿去跟 08/29 09:21
→ spinda:一些前輩討論 看方向是否正確 再繼續寫下去 所以目前還 08/29 09:22
→ spinda:至於看到bug會興奮 是因為覺得又可以提升解決問題的能力 08/29 09:24
→ spinda:去吵前輩們的頻率也越來越少(應該說比較進入狀況了 XD) 08/29 09:25
→ spinda:補一下:是...所以目前還ok @@ 08/29 09:26