“6年的程式設計師還不會寫委託”,問題在哪?
今天在QQ群閒聊,一位群友的話突然引起了我的興趣,
還有個6年經驗老手,委託都不會寫,(吐血.jpg
於是我反問了一句:
為什麼你會覺得6年老手就要會寫委託呢?(壞笑.jpg
其實我經常看到這種說法,但本能的我就覺得不舒服。為什麼呢?我仔細的想了想,可能這麼幾個原因。
首先,我自己就是個老碼農,然後我自己知道自己其實很多東西都還不會(啊!崩了人設,是不是作死?)。我很怕有一天有人說:飛哥十年的老碼農,XXX都還不會……這應該就是兔死狐悲吧?
好了好了,“自黑”就到此為止,接下來開始我的自我辯護。
我記得我有一個回答,面試前端工作7年以上的人,總感覺他們水平一般般
換一下,讓他來面試你,你就知道他有多厲害了。
抖了下機靈,收穫了180個贊。
這個回答第一個層次的解釋可以是:你不能用別人剛好不熟悉的領域來判斷一個人。
但我想挖得更深一點,為什麼不能呢?!
我找了很久很久終於找到了,這幾幅圖,很可惜,原作者@itlr已經被知乎幹掉了(我估計我遲早有一天也會被知乎幹掉,ʅ(‾◡◝)ʃ):
很多人假設知識之間的關係是這樣的:
而沒有意識到,更多時候真實的關係是這樣的:
甚至是這樣的:
太特麼一針見血了!
其實說:“xxxx還不知道/會xxxx”的人,他們潛意識裡就認為知識結構是“金字塔”或者“階梯”形狀的,同時把你不會的那一個知識點放在了“基礎”級上,進而再推論出:你基礎的都不會,上面的自然更不會了。這對不對呢?只能說有時候對,有時候不對。
作為程式猿,理解這一點其實應該更容易,因為:
封裝!
我不覺得6年的程式設計師不會寫“委託”有什麼問題,但我發現很多6年經驗的程式設計師不懂得“封裝”才是要命的。(好吧,誇張了一點,其實也沒那麼嚴重,只要能把功能實現一樣可以領工資,不要命,O(∩_∩)O哈哈~)
假如我問:面向物件的封裝是幹嘛用的?我估計很多同學會回答public/private之類的……
但其實不是的,或者說,遠不止於此。
封裝的作用,是遮蔽細節,或者說遮蔽複雜度。簡單的說,就是讓你“沒有基礎”“不知道原理”一樣可以幹活。
我們可以想象,如果沒有封裝的話,在現代社會,從事一個任何職業,得有多累!因為任何事情,你都要從“基礎”學起,要了解他的“原理”,天啊,一臺汽車多少零部件多少力學原理,車間裝配工人要了解這些怕是博士生都不夠用。
我們程式開發人員也是一樣的,至少軟體就只管軟體,別去關心硬體,這是一個最基本的隔離(封裝)……別拽你學了計算機組成原理,USB2.0和3.0的區別說得清楚不?會造不?還有說什麼資料結構和演算法的,天天在用的MD5加密,演算法怎麼實現的,為什麼不可逆你說得清楚不?你不知道,這不丟人,因為你也根本不需要知道。他們被封裝好了,你只需要拿過來,直接使用它,完成你的工作就OK了,這一點不丟人。
我真不明白為什麼程式設計師圈子裡會有這麼奇怪的一個文化:用別人封裝好的東西就是丟人。每個人都想去造輪子,有必要麼?看看現在前端造出來的那些鋪天蓋地、奇形怪狀的輪子,不知道他們是怎麼想的,我要是前端,我簡直都要崩潰了。
我記得這種觀點我以前說過?就不囉嗦了,其實我寫這篇部落格,是因為我被刺激了,因為QQ群裡的這位網友問我:
你別告訴我你們培訓不講這個(委託)?那就太誤人子弟了!
我本來是準備要講一講委託的,但他這麼一說,我不由得想:我就不講了又怎麼的呢?所以我的回答是:
完全可以不講啊!
直接lambda不行嗎?
我覺得這個現象很矛盾:作為學員,
- 一方面他們想學“最新的”技術,比如我培訓的內容是ASP.NET MVC(我打算是Framework和core都講的,甚至WebForm都會分出幾個課時說一下),他們一定要問一問:“不是ASP.NET core嗎?”
- 但另一方面,他們有很強調“基礎”。比如這位同學就把“委託”當成了學習Lambda的基礎,覺得不學委託,Lambda就學不會或者學不好……
你們說,飛哥該腫麼辦?
我覺得,很多同學,錯誤的理解了“基礎”。比如說,委託不是Lambda的基礎,委託只是Lambda“之前的”語法。
我的教學原則:當你理解當前的事物很困難的時候,如果其發展歷史可以幫助你理解,我就會給你講一講它的歷史;否則,沒有太大的必要,甚至有可能會有副作用。比如我剛入行的時候,理解C#裡面的“引用”,很多書籍資料都會提到“指標”——那時候我不知道“指標”啊,我理解“引用”都很困難了,你還給我攪一個“指標”進來,這不是把一個複雜的問題搞得更復雜了麼?但是我在講JavaScript的時候,講了一下這門語言的“黑歷史”,很多同學給我反映:茅塞頓開,原來如此……
差不多了,最後幾句話:
委託的語法很簡單啊,最多十分鐘就學會了。
搞明白為什麼要有委託、什麼時候用委託才是最關鍵的!
要說基礎,這才是基礎;要說本事,這才是本事。
+++++++++++++++++++
慣例廣告,飛哥的線下培訓班“源棧”已經開班了。開業酬賓大優惠,
不過一折早就被搶了,現在馬上報名,還有六折。