[討論] 寫程式的經驗如何培養?
寫這篇主要是抱怨,每個人就業的成長過程各有不一,
最近帶新人的時候感覺非常挫折,很多我覺得是直覺的
東西,要新人接受的時候,往往受到挑戰,在不想浪費
唇舌的情況下乾脆懶得教了,但是這種新人我也不敢讓他
碰核心原件。
我想要問一下一些寫程式的概念,如果工作中學不到,
有甚麼快速的途徑可以學,因為新人總覺得自己念了
博士,很了不起,寫程式這種簡單的東西,哪有那麼難...
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: 198.182.56.5
※ 編輯: moonshade 來自: 198.182.56.5 (10/29 05:04)
※ 編輯: moonshade 來自: 198.182.56.5 (10/29 05:05)
→
10/29 06:43, , 1F
10/29 06:43, 1F
→
10/29 06:46, , 2F
10/29 06:46, 2F
→
10/29 06:50, , 3F
10/29 06:50, 3F
推
10/29 07:20, , 4F
10/29 07:20, 4F
推
10/29 08:04, , 5F
10/29 08:04, 5F
→
10/29 08:04, , 6F
10/29 08:04, 6F
→
10/29 08:09, , 7F
10/29 08:09, 7F
→
10/29 08:38, , 8F
10/29 08:38, 8F
→
10/29 08:43, , 9F
10/29 08:43, 9F
→
10/29 09:01, , 10F
10/29 09:01, 10F
→
10/29 09:01, , 11F
10/29 09:01, 11F
→
10/29 09:02, , 12F
10/29 09:02, 12F
→
10/29 09:03, , 13F
10/29 09:03, 13F
→
10/29 09:04, , 14F
10/29 09:04, 14F
→
10/29 09:05, , 15F
10/29 09:05, 15F
→
10/29 09:06, , 16F
10/29 09:06, 16F
→
10/29 09:16, , 17F
10/29 09:16, 17F
推
10/29 10:31, , 18F
10/29 10:31, 18F
推
10/29 10:31, , 19F
10/29 10:31, 19F
→
10/29 10:31, , 20F
10/29 10:31, 20F
→
10/29 10:31, , 21F
10/29 10:31, 21F
→
10/29 10:31, , 22F
10/29 10:31, 22F
→
10/29 10:31, , 23F
10/29 10:31, 23F
→
10/29 10:32, , 24F
10/29 10:32, 24F
→
10/29 10:33, , 25F
10/29 10:33, 25F
推
10/29 10:40, , 26F
10/29 10:40, 26F
→
10/29 10:42, , 27F
10/29 10:42, 27F
→
10/29 10:42, , 28F
10/29 10:42, 28F
→
10/29 10:44, , 29F
10/29 10:44, 29F
推
10/29 10:59, , 30F
10/29 10:59, 30F
→
10/29 11:00, , 31F
10/29 11:00, 31F
→
10/29 11:00, , 32F
10/29 11:00, 32F
→
10/29 11:01, , 33F
10/29 11:01, 33F
→
10/29 11:03, , 34F
10/29 11:03, 34F
→
10/29 11:04, , 35F
10/29 11:04, 35F
→
10/29 11:04, , 36F
10/29 11:04, 36F
→
10/29 11:06, , 37F
10/29 11:06, 37F
→
10/29 11:06, , 38F
10/29 11:06, 38F
→
10/29 11:07, , 39F
10/29 11:07, 39F
推
10/29 11:08, , 40F
10/29 11:08, 40F
→
10/29 11:08, , 41F
10/29 11:08, 41F
→
10/29 11:08, , 42F
10/29 11:08, 42F
→
10/29 11:08, , 43F
10/29 11:08, 43F
→
10/29 11:13, , 44F
10/29 11:13, 44F
→
10/29 11:49, , 45F
10/29 11:49, 45F
→
10/29 12:09, , 46F
10/29 12:09, 46F
→
10/29 12:09, , 47F
10/29 12:09, 47F
→
10/29 23:03, , 48F
10/29 23:03, 48F
→
10/29 23:04, , 49F
10/29 23:04, 49F
→
10/29 23:05, , 50F
10/29 23:05, 50F
→
10/29 23:06, , 51F
10/29 23:06, 51F
→
10/29 23:07, , 52F
10/29 23:07, 52F
→
10/29 23:08, , 53F
10/29 23:08, 53F
→
10/29 23:19, , 54F
10/29 23:19, 54F
→
10/30 00:07, , 55F
10/30 00:07, 55F
推
10/30 00:52, , 56F
10/30 00:52, 56F
→
10/31 06:54, , 57F
10/31 06:54, 57F
→
10/31 06:55, , 58F
10/31 06:55, 58F
討論串 (同標題文章)