Re: [討論] 寫程式的經驗如何培養?

看板Soft_Job作者 (紅蓮西風750)時間12年前 (2013/10/29 08:36), 編輯推噓2(208)
留言10則, 7人參與, 最新討論串2/7 (看更多)
你一開始說懶得教。 「往往受到挑戰,在不想浪費唇舌的情況下乾脆懶得教了」 最後 「其實說到最後新人並不是不願意學,而是對於沒有工作經驗的人 ,這些東西就等於沒有道理」 其實,教新人真的不是這麼容易。 就像別的站友說的「當初是誰面試他進來?」 也許這些問題可以拿來面試談 1. 物件的概念 為什麼要建物件?建物件的好處是什麼?壞處是什麼? 機槍座的例子,是機槍組裝的機制出問題?還是不該從UI的資訊來決定? 為什麼要建物件 1. 符合心智圖 2. 隱藏複雜度 3. 增加重覆使用率 2. 整齊格式的重要性 coding style要好,除了看code之外,還有沒有其它更強而有力的例子呢? ex: 讓程式碼可以在換文字處理器時不會因為tab width設定的關係,變動太多coding style?? 3. 命名 好命名除了取代comment之外,還有隱喻和內聚力的問題。新人真的明白嗎?(這真的滿難 解釋的) 4. Golbal太多的問題 其實就是呼應第一個物件的概念。 也許,你沒有拿最強而有力的重點去教導你的新手,如果他真的說不聽,你就直接拿一本 書請他k完(當然要限定他k的時間),你所教的每一個觀念最好書裡都有。這樣一來,你所 教的東西有書可以增加說服力,我想高學歷的傢伙再堅持也只是證明,只是自己單(ㄩˊ) 純(ㄔㄨㄣˇ)的執著。 程式專案進行的過程,很多做法都是用來降低溝通成本的,命名是物件也是,盡量讓程式 碼在不需要解釋的情況之下就可以讓概念互相流傳。 你也可以拿一段超爛的code(也可以留一段他自己以前寫過的程式碼,時間要夠久)給他看 !問他是不是要看很久,看了是不是會一直註解髒話之類的.... ※ 引述《moonshade (一隻歐拉貓)》之銘言: : 寫這篇主要是抱怨,每個人就業的成長過程各有不一, : 最近帶新人的時候感覺非常挫折,很多我覺得是直覺的 : 東西,要新人接受的時候,往往受到挑戰,在不想浪費 : 唇舌的情況下乾脆懶得教了,但是這種新人我也不敢讓他 : 碰核心原件。 : 我想要問一下一些寫程式的概念,如果工作中學不到, : 有甚麼快速的途徑可以學,因為新人總覺得自己念了 : 博士,很了不起,寫程式這種簡單的東西,哪有那麼難... : 1. 物件的概念,簡單來說就是物件自圓奇說的觀念和 : 故事,例如一個汽車的物件是不會長出只有汽車自己 : 存在的時候不能解釋的東西,像是車頂有個不知所謂角架, : 這時候只有開汽車就不知道這角架用來幹嘛,如果要如此 : 設計,就要能夠自圓其說解釋這是一個機槍座,可以 : 裝哪些種類的機槍,但是新人只是丟了一行comment : 寫請看機槍手(UI level)如何使用此角架,但老實說我看 : 前後文看不懂的時候,這個comment造成我額外負擔必須要 : 去讀更多的程式 : 2. 整齊格式的重要性,簡單來說就是一致的coding style, : 新人似乎也不在乎這些東西為何重要,但是對老人來說, : 這個影響一秒鐘看4行和一分鐘看2行的速度差別,但是對於無法 : 一秒四行的新人似乎無法理解這有多重要,甚至在hard tab的問 : 題也能爭吵不休,我已經解釋了每個人的tab width設定不一樣, : coverity這類web-based viewer 也會看到不一樣,但是新人 : 還是堅持只要把tab width設成跟他一樣就好了。這個花了兩個老人 : 對他勸說了將近30分鐘,但也無法說動他把之前的code用sed : 全改成空白鍵 : 3. 程式命名的藝術,很多人的程式寫得很好,根本不用comment : 大家就能看懂,但是有新人就是不知為何發明一些需要解碼的 : 名稱,還宣稱這很好用很方便 : 4. Global 滿天飛,尤其在現在重視reentery的時代,global : 就算無法避免也希望用singleton替代,但是講了半天又舉例, : 最後還是不理你 : 其實說到最後新人並不是不願意學,而是對於沒有工作經驗的人 : ,這些東西就等於沒有道理,講了也不會記得,話說我剛入行 : 就是前輩說甚麼就照做,把code寫得跟老人一樣,讓他們以為是自 : 己寫的,但是現在的新人自己想法很多,也不知道怎麼教... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.98.226

10/29 09:07, , 1F
沒提到溝通方式. 人是很難把自己的想法,強制別人身上的.
10/29 09:07, 1F

10/29 09:07, , 2F
10/29 09:07, 2F

10/29 09:28, , 3F
直接丟個幾千行規模的case去做就能體會了
10/29 09:28, 3F

10/29 11:14, , 4F
話說,這些我都解釋了,但是有的人就是你一講他不對
10/29 11:14, 4F

10/29 11:14, , 5F
他馬上就生氣,我拿別人當例子解釋給他聽就OK
10/29 11:14, 5F

10/29 11:14, , 6F
但是錯不在他,講過就忘
10/29 11:14, 6F

10/29 11:16, , 7F
不過還是謝謝你解釋這些東西,我講這些應該沒有你清楚
10/29 11:16, 7F

10/29 23:57, , 8F
10/29 23:57, 8F

10/30 10:58, , 9F
解釋是解釋,能不能夠說服人是另外一回事
10/30 10:58, 9F

10/31 08:07, , 10F
專業能力,是用來說服人的!並不是用來決定事情的。
10/31 08:07, 10F
文章代碼(AID): #1IRmCNFM (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1IRmCNFM (Soft_Job)