6年的程式設計師還不會寫委託很嚴重?不會封裝才叫可怕!

智雲程式設計發表於2019-01-09

今天在閒聊,一位群友的話突然引起了我的興趣,

有個6年經驗老手,委託都不會寫?

於是我反問了一句:

為什麼你會覺得6年老手就要會寫委託呢?

其實我經常看到這種說法,但本能的我就覺得不舒服。為什麼呢?

首先,我自己就是個老碼農,然後我自己知道自己其實很多東西都還不會

6年的程式設計師還不會寫委託很嚴重?不會封裝才叫可怕!

我記得我有一個回答, 面試前端工作7年以上的人,總感覺他們水平一般般 ?我的回答:

換一下,讓他來面試你,你就知道他有多厲害了。

第一個層次的解釋可以是: 你不能用別人剛好不熟悉的領域來判斷一個人。

很多人假設知識之間的關係是這樣的:

6年的程式設計師還不會寫委託很嚴重?不會封裝才叫可怕!

而沒有意識到,更多時候真實的關係是這樣的:

6年的程式設計師還不會寫委託很嚴重?不會封裝才叫可怕!

甚至是這樣的:

6年的程式設計師還不會寫委託很嚴重?不會封裝才叫可怕!

其實說:“xxxx還不知道/會xxxx”的人,他們潛意識裡就認為知識結構是“金字塔”或者“階梯”形狀的,同時把你不會的那一個知識點放在了“基礎”級上,進而再推論出:你基礎的都不會,上面的自然更不會了。這對不對呢?只能說有時候對,有時候不對。

作為程式猿,理解這一點其實應該更容易,因為:

封裝!

我不覺得6年的程式設計師不會寫“委託”有什麼問題,但我發現很多6年經驗的程式設計師不懂得“封裝”才是要命的。(好吧,誇張了一點,其實也沒那麼嚴重,只要能把功能實現一樣可以領工資,不要命,O(∩_∩)O哈哈~)

假如我問:物件導向的封裝是幹嘛用的?我估計很多同學會回答public/private之類的……

但其實不是的,或者說,遠不止於此。

封裝的作用,是遮蔽細節,或者說遮蔽複雜度。

簡單的說,就是讓你“沒有基礎”“不知道原理”一樣可以幹活。

我們可以想象,如果沒有封裝的話,在現代社會,從事一個任何職業,得有多累!因為任何事情,你都要從“基礎”學起,要了解他的“原理”,天啊,一臺汽車多少零部件多少力學原理,車間裝配工人要了解這些怕是博士生都不夠用。

我們程式開發人員也是一樣的,至少軟體就只管軟體,別去關心硬體,這是一個最基本的隔離(封裝)……別拽你學了計算機組成原理,USB2.0和3.0的區別說得清楚不?會造不?還有說什麼資料結構和演算法的,天天在用的MD5加密,演算法怎麼實現的,為什麼不可逆你說得清楚不?你不知道,這不丟人,因為你也根本不需要知道。他們被封裝好了,你只需要拿過來,直接使用它,完成你的工作就OK了,這一點不丟人。

我真不明白為什麼程式設計師圈子裡會有這麼奇怪的一個文化:用別人封裝好的東西就是丟人。每個人都想去造輪子,有必要麼?看看現在前端造出來的那些鋪天蓋地、奇形怪狀的輪子,不知道他們是怎麼想的

6年的程式設計師還不會寫委託很嚴重?不會封裝才叫可怕!

現在的大部分人,一方面他們想學“最新的”技術,但另一方面,他們有很強調“基礎”。

我的原則:當你理解當前的事物很困難的時候,如果其發展歷史可以幫助你理解,我就會給你講一講它的歷史;否則,沒有太大的必要,甚至有可能會有副作用。

比如我剛入行的時候,理解C#裡面的“引用”,很多書籍資料都會提到“指標”——那時候我不知道“指標”啊,我理解“引用”都很困難了,你還給我攪一個“指標”進來,這不是把一個複雜的問題搞得更復雜了麼?但是我在講JavaScript的時候,講了一下這門語言的“黑歷史”,很多同學給我反映:茅塞頓開,原來如此……

委託的語法很簡單,最多十分鐘就學會了。

搞明白為什麼要有委託、什麼時候用委託才是最關鍵的!

要說基礎,這才是基礎;要說本事,這才是本事。

這裡推薦一下我的前端學習交流群:731771211,裡面都是學習前端的,如果你想製作酷炫的網頁,想學習程式設計。從最基礎的HTML+CSS+JS【炫酷特效,遊戲,外掛封裝,設計模式】到移動端HTML5的專案實戰的學習資料都有整理,送給每一位前端小夥伴,有想學習web前端的,或是轉行,或是大學生,還有工作中想提升自己能力的,正在學習的小夥伴歡迎加入。

點選:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901074/viewspace-2375317/,如需轉載,請註明出處,否則將追究法律責任。

相關文章