看板 Soft_Job 關於我們 聯絡資訊
寫這篇主要是抱怨,每個人就業的成長過程各有不一, 最近帶新人的時候感覺非常挫折,很多我覺得是直覺的 東西,要新人接受的時候,往往受到挑戰,在不想浪費 唇舌的情況下乾脆懶得教了,但是這種新人我也不敢讓他 碰核心原件。 我想要問一下一些寫程式的概念,如果工作中學不到, 有甚麼快速的途徑可以學,因為新人總覺得自己念了 博士,很了不起,寫程式這種簡單的東西,哪有那麼難... 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)
piss:可以說coding framework/style/readability打考績也會考慮 10/29 06:43
piss:表示老鳥都很重視,所以也請你重視,花不了你多少時間 10/29 06:46
piss:他會這麼說就是覺得這應該不重要,不想浪費時間在上面。 10/29 06:50
RouterHsieh:我比較好奇的是這個新人到底是怎麼被錄取的...XD 10/29 07:20
kinanson:態度有問題,基本上菜就是要服從,除非主管或老闆挺菜鳥 10/29 08:04
kinanson:改革,越高學歷的其實有些越難帶,自視甚高 10/29 08:04
xsoho:開除他? 10/29 08:09
tyc5116:我覺得3.要體諒一下,不是每個人英文都好,keyword很難取XD 10/29 08:38
bndan:菜就是要服從 XD? 是來寫程式還是當兵? 10/29 08:43
b6byc:名稱也不是很好取的. 不過溝通一下就好,強制要求 10/29 09:01
b6byc:人家會認為,為什麼你的比較好? 為什麼不能用我的,你一定 10/29 09:01
b6byc:是對的嗎? 不過,老人也不一定是對的,口氣別太差. 10/29 09:02
b6byc:至於coding style,每個人都有自己的風格,要求一致,難~~~ 10/29 09:03
b6byc:講多了,只會造成同事間的不和諧. 不過,稍微提一下,是個不錯 10/29 09:04
b6byc:法,用建議的口氣. 會比較好. 10/29 09:05
b6byc:如果不想改,其實老人要有能力看奇奇怪怪的code ,就認了 10/29 09:06
leiyan:style公司要定自己的規範阿 否則當然各寫各的 10/29 09:16
liddle:Style就是要統一規定下去,也有一堆工具幫忙.設定好CI工具 10/29 10:31
kinanson:@bndan 一間公司本來就要一個規範,前人都認同那套規則, 10/29 10:31
kinanson:結果一個新人來搞破壞?就算那個規則不好,要嘛就是讓老 10/29 10:31
kinanson:闆或上面認同,然後進行改革,要嘛就認菜自行離開,是環 10/29 10:31
kinanson:境要來屈就你,還是你來屈就大環境?再者你現在改規則, 10/29 10:31
kinanson:光重構又要花多少時間??菜還不服指導本來就該死 10/29 10:31
liddle:不符合規範的程式就不准Checkin,然後這種狀況就會沒了 10/29 10:32
liddle:很多程式style是設計用來減少bug發生以及debug時間的 10/29 10:33
vvppqqvv:看到這篇所以我就不想待軟體公司 10/29 10:40
vvppqqvv:有不配合的新手(我沒說他不對)有倚老賣老的老手 10/29 10:42
vvppqqvv:(老手也沒錯) 10/29 10:42
vvppqqvv:人沒錯那就是環境問題 鬼島軟體公司....? 10/29 10:44
esnothing:我覺得是程式員對自己的要求不高。無法體會你的期待。 10/29 10:59
esnothing:我覺得程式寫得可以動是目前多數程式員與公司的最低標準 10/29 11:00
esnothing:但若自己對自己的要求高,就會懂得多去涉獵design patte 10/29 11:00
esnothing:物件導向、可再利用、易讀性等品質要求。 10/29 11:01
esnothing:我的經驗是新進人員,低子不一定不夠,開讀書會探討案例 10/29 11:03
esnothing:或定期code review,分享程式碼的優缺。這樣的方式比較 10/29 11:04
esnothing:以循循善誘的方式引導出"程式碼品質"的概念. 10/29 11:04
esnothing:另外其實啊,程式員多半認為自己是高知識分子,所以多半 10/29 11:06
esnothing:有文人相輕的心態。若你的"級數"沒高到一定程度,沒在專 10/29 11:06
esnothing:業上完全壓倒新人。用直接說的方式對方也不一定會採納. 10/29 11:07
kinanson:規範問題,除非是要開發新專案,上面認同改變,一間公司 10/29 11:08
kinanson:的系統,不同模組寫法完全不同,這樣的系統好嗎?尤其一 10/29 11:08
kinanson:個新人又不是主管缺,無法配合別人,難道要大家來配合這 10/29 11:08
kinanson:位新人嗎? 10/29 11:08
esnothing:同意樓上是規範問題。有高階主管的支持其實就follow就對 10/29 11:13
Zephyr750:公司規定的coding style最好有軟體可以直接整理!(誤) 10/29 11:49
moonshade:公司會提供軟體,但是有歷史的product通常會敬謝不敏Orz 10/29 12:09
moonshade:我們之前也想推,但是大家覺得没意義所以就沒動 10/29 12:09
bndan:@K大 規範要合理 不然跟軍營一樣進去被老鳥打幾拳這種"傳統" 10/29 23:03
bndan:也要遵守? 無知的默守成規這種鳥事 不該出現在軟體界好嗎? 10/29 23:04
bndan:code style好 就是可以解釋的出來.講難聽的我現在寫的也是尊 10/29 23:05
bndan:造我公司的規則...但這套規則因為"對我"來說合理 所以我甚至 10/29 23:06
bndan:直接融入我私人的CODE內.更別說去反抗他了 好的就是好的 沒 10/29 23:07
bndan:辦說服=對方無理? 如果是這樣 那只能說強摘果實不會甜 (攤手 10/29 23:08
viper9709:最後一段深有同感~ 10/29 23:19
pondzai:我倒是遇到老鳥的code跟文中說的菜鳥code一樣 10/30 00:07
troylee:說到我心聲... 10/30 00:52
shemale:對我而言,改coding style開始時也很掙扎,後來就習慣了 10/31 06:54
shemale:不願學或不會學的,會像我一樣被淘汱 10/31 06:55