11.23 教你培養編程思想,教你程序水平百里挑五,教你打敗95%的程序員

本文為我個人的實踐理解,可能與教科書不同,也可能與其它人的思想不同。

我儘可能以實踐準則來描述

學會它,可以讓你打敗95%的程序員,百里挑五。

一.首先,什麼是編程思想?

編程思想是一種指導思想,這個指導思想,將會誘發你如何寫代碼的行為。

如果理解這話的意思呢?打個比方,中華文明千百年在民眾心中形成了一個“統一天下”的思想,這種思想會誘發各個混亂時期的諸侯或者軍閥,以統一中國為目標,而不會像歐洲一樣以分裂中國各自獨立、各自稱帝為目標。

教你培養編程思想,教你程序水平百里挑五,教你打敗95%的程序員

那麼編程思想有哪種種類呢?

1)面向過程編程。這是我國絕大部分程序員的思想。這種思想誘發了他們寫代碼的時候這樣的現象:一個方法中寫了糅雜了很多的業務邏輯,或者從ui層(點)業務邏輯層(點)數據庫訪問層這種路徑的寫法。

2)函數編程。典型的如很多人寫的javascript中的function函數。各種業務就以各種很多的function進行編寫。

3)面向對象編程。這是比較高級和抽象的思想,它具有三大特性五大原則。即封裝、繼承、多態,單一、開閉、里氏替換 、依賴倒置、接口隔離。

話外:有些人會告訴你數據結構、算法,我要跟你說的是,那不是編程思想,是編程能力,考驗你的邏輯運算能力,你越出色,那麼你應對的複雜科技領域就可以更加深入,最終你可以達到科學家的範疇。

二、編程思想的優劣和選擇。

面向過程和函數編程,是每一個剛畢業的畢業生就會的原始思想。即,只要學習了編程,那麼他一開始寫的代碼,就是這種思想,不需要教,就會的。

而面向對象編程,則是進階抽象的。本質上來說,一個程序員的進化,實際上是面向對象編程思想的培養、形成、發展、成熟的過程。

所以,你現在應該知道最優的思想是什麼,沒錯:面向對象。

三、如何建立編程思想

首先,你要時刻謹記面向對象的三大特性五大原則,那幾個字,你是很熟悉的,但你絕對不認識他裡面所蘊含的恐怖威力。即:你認得到字是一回事,理解和運用它是另一回事。

然後,你要在你的實操過程中,時刻思考你是否用上了它的特性及原則。

最後,不斷的嘗試去修正和更改你的代碼,慢慢的,你的面向對象編程思想將會開始建立。

教你培養編程思想,教你程序水平百里挑五,教你打敗95%的程序員

四、如何練習、訓練和提高編程思想

1.通過學習設計模式。

剛開始的時候,你自己不太可能有對象思想,因為你還未形成對象思維,此時,你需要藉助前人的模式總結,不斷的練習,通過為模式而寫模式的訓練去提高它。

2.通過不斷的重構已編寫好的業務邏輯代碼,這需要大量的實踐,使他能夠讓你自己覺得符合三大特性五大原則。

3.評判一個代碼你寫得好不好,符不符合對象編程思想,有一個非常簡單和粗暴的標準:

你的方法體,去除註釋,如果你能夠讓你的每一個方法的邏輯,他的方法體代碼行數不高於30行,那麼你估計就是寫的有成效的。如果你能夠發現你的很多方法體,代碼行數僅僅只有10行以內個位數的代碼時,你的面向對象編程思想已經成熟。

4.將代碼思維持之以恆。

通過不斷的實踐練習,改變你原來天生的過程式編程思想,這需要一個漫長的過程,從我的實踐經驗來看,至少要3年以上的實踐訓練,所以從此意義上來說,5年以下的中國程序員99%都不會面向對象。當你不再為模式而寫模式時,你隨手寫的代碼是如此的簡潔美妙時,你已經比中國95%的程序員牛B了。

怎麼你不認可我說的95%?

好吧,你放眼看你公司,10個程序員裡,有幾個是面向對象編程?如果1個都沒有,恭喜你,你打敗了你公司100%的程序員。

教你培養編程思想,教你程序水平百里挑五,教你打敗95%的程序員


分享到:


相關文章: