簡單性是思考後的簡單性

2021-05-24 11:27:38 字數 871 閱讀 5995

程式設計師總想把程式做簡單,讓寫出來的**容易被人理解和維護以及在將來擴充套件。但是,如果對於這種簡單性的認識,只是覺得簡單地對照功能需求,直接很簡單的去做。那麼這種簡單性,在我個人現在的水平和感受體會看來,是非常不值得稱道的!

在我們的維護**的過程中,也經常看到這樣的**現象。如果將程式編制過程中,我們追求的簡單性界定為思考後的簡單性,這是我所贊成的。

在前面曾經寫過一篇關於面向過程和物件導向的程式設計感受,提到,如果非常直接過程式地程式設計,那麼確實很直接,可以很快地解決問題,但這裡面,如果您不是大牛的話,看到的簡單性往往是表象和偷懶的,並不穩定和適應變化。

只有複雜思考後的簡單性,例如牛頓力學中的三大定律、歐式幾何中的幾條公理,在它們所構建出來的的系統中,都是這種簡單性不斷地出現、組合和應用,這才是真正的簡單性!

這種簡單性呈現給你的時間,你不會覺得複雜,而且是很容易理解,但是,它的簡單性不簡單在於,能夠在很多場景下建立自己的能力、解決相應的問題。這才是我們應該追求的簡單性,以簡單的東西適應很多的場景。

如果簡而言之來看,就像演算法一樣,你能在要解決的問題領域或將來可能會出現的問題,抽象出來一些固定的演算法或者原則、概念出來,特別是類似演算法這樣的東西,你會看到,象歐幾里得的輾轉相除求最大公約數的演算法,它所適應的數值空間是無限的,不僅僅限於某兩個固定的數。還有在馮諾依曼機器結構中,以程式儲存程式執行的簡單演算法,解決了計算機領域所有程式的執行,無論你是網路程式還是作業系統程式、抑或資料庫程式。以前自己總是很鄙視大學時代,有些人**說提出了乙個什麼演算法,但是,如果以演算法能解決的問題數量而論,那時間的演算法是令人鄙夷的,而偉大的演算法,是我們所應該俯首佩服的。

這才是,unix哲學中keep it ******,keep it stupid的真諦,簡單性是思考後的簡單性,而不是不假思索的「簡單性」,不假思索的簡單性很多時候帶有程式設計師的惰性。

C 簡單效能提公升

測試結果,顯而易見,使用字元陣列的方式效率要高很多 上述寫法,我們的程式丟擲了乙個空引用異常 換了思路後,我們的程式輸出了我們定義的結果 四種不同的方法來新增兩個字串拼接起來,四種方法中string.concat 用時最少 根據測試結果建議使用string.concat 方法進行字串的拼接 coun...

jemter簡單效能測試詳解

1.首先我的英文不是很好,我需要將英文改成中文,方法非常簡單,選擇options choose language chinese即可.兩個chinese乙個是簡體中文,乙個是正體中文 2.選擇檔案 新建測試計畫 3.左鍵點選測試計畫,右鍵點選新增執行緒 使用者 執行緒組 4.執行緒數 執行緒數也就是...

sanic和tornado的簡單效能測試

作業系統 centos7.3.1611 x64 python 版本 3.6.8 tornado版本 6.0.2 sanic版本 19.9.0 cpu intel r core tm i5 2320 cpu 3.00ghz 4核 之前一直使用tornado作為http相關python程式的框架,最近查...