關於碼代碼的那點破事

好多人都認爲,設計程序就應該按照計算機的那一套思惟方法去組織代碼,由於這樣的話 纔可以真正的理解代碼運行的真正意圖,才能真正的去組織好代碼,真的是這樣嗎?咱們有必要按照面對過程的那一套方式來寫面對對象的代碼嗎?爲何面對對象編程會成爲高級語言的新寵,期間有啥奧妙或者玄機嗎?今天這個文章就來扯扯怎麼樣組織代碼的一些道道。程序員

咱們要寫出人能看得懂的代碼,讓晦澀難懂見鬼去吧

作爲程序員,咱們每天都在和代碼打交道,知道程序員最懼怕什麼?該需求?代碼出現BUG?讀晦澀難懂的代碼?不對,程序要最怕的是一邊讀者晦澀難懂的代碼,一邊應付着需求的變動,而後最要命的是 這個該死的代碼特麼出現了BUG!!苦逼吧!!
編程

代碼是寫給人看的,讓晦澀難懂的二進制交給底層去作吧!切記啊少年,假如你不想被罵成豬同樣的隊友的話!!框架

在高級的編程語言出現以前,計算機的歷史上出現過不少各類各樣的編程語言,而後他們慢慢的進化,進化,進化 而後編程瞭如今咱們可以看到的各類各樣的語言。大概分析一下 一共有以下中類型。編程語言

一、機器語言,這種主要是給計算機看的,基本上沒有任何一我的可以看明白,而且都是0和1的字符序列,編輯器

二、彙編語言,這個早期主要用於寫在一個寫彙編芯片裏面,用來操做硬件和早期的一些遊戲的,有N多個助記符,什麼MOV,DPTR,JUMP這些個指令 學過計算機接口與原理的騷年們應該不陌生,這個語言基本沒有通過必定時間的學習之後 也是不可能徹底看明白的學習

三、普通編程語言 這裏說的普通編程語言是那些C等面對過程的編程語言,他比起彙編來,更加符合人的思惟,不過仍是廣泛的按照計算機的執行順序來編程,因此又被成爲面對對過程的編程語言,什麼叫面對過程的編程,就是我剛剛提到的 將全部解決問題的方法按照計算機的執行順序來編寫的語言 咱們均可以把它歸到面對過程編程裏來。編碼

四、高級語言 這個很少少,就是面對對象的編程,這個更加會符合人的思惟習慣,這個沒有任何異議吧spa

我爲何要把這幾種階段的語言來比較 其實就是想和你們說明白一個道理就是,計算機編程,發展的過程就是愈來愈按照人都思惟去編程,是爲了讓代碼給人看明白而摒棄晦澀難懂的部分。也就是說設計

「代碼是寫給人看的,並且是寫給人能看懂的」這個是咱們寫代碼的指導原則或者說是哲學,或者是理論基礎,不然任何的一個程序員都會被折騰瘋掉的,業界良心啊。
對象

那麼 既然咱們的計算機語言慢慢的發展,到了如今的這個地步,那麼 這個過程告訴了咱們什麼樣的道理了?

「計算機語言到了如今這個地步,摒棄了晦澀可貴的細節,爲的是讓你儘可能簡單的完成任務,編寫出符合人類思惟的具備可讀性的代碼,人生就那麼短暫的3億多秒,不要浪費在寫晦澀難懂的代碼上,你的代碼然你一看就明白,這樣編碼纔有意義!

那麼咱們如何才能組織好咱們的代碼了?

有不少的編程理論來支持咱們去編寫高質量的代碼。話說最值得借鑑的就是所謂的極限編程,反正這樣的書有不少,你們不懂能夠直接百度,我如今只想說明一個原則

無論你使用任何方式的編程方法去組織代碼,你的目的就只有一個,那就是完成任務,而你所看到的是一系列的方法論而已,他只是告訴你 ,你若是按照這樣的作法可以有什麼樣的效果而已,只是輔助完成你的任務而已,因此 方法論不要太看得重了,不然就會是你的絆腳石而已.

在你明白了方法論的真正意義以後,你就應該明白,那些個方法論只是一些些個輔助的東西。不要看得過重,假如之後有人再在你面前說這個理論,那個理論,你只須要呵呵一笑就好了,由於那些個方法論不必定適合你!!


說完了第一個話題,寫出人可以看明白的話題之後,咱們看看第二個話題 代碼如何組織才最有效?

不少人寫代碼有這麼個習慣,一上來就喜歡拿着鍵盤一頓胡敲海寫,不能說這樣很差 也行有些人內心早就知道咱們的代碼應該怎麼寫了。不過不少人和我同樣,是一個菜鳥,可能沒有那麼多的經驗,那麼此時應該如何去構思咱們的代碼結構了?我不直接說,給你們舉個例子吧?

畫畫,你們都知道吧,特別是素描的時候,你看過那我的在素描的時候是先把對象的某一個部位話的很是的細緻之後再去畫其餘部位的?沒有吧,不少人都是先用筆隨便勾畫一個輪廓,再去慢慢的細畫的,其實咱們組織代碼也是同樣的。話說咱們能夠用文本編輯器去勾畫咱們的僞代碼(這個過程就和勾畫輪廓是一個道理),而後再慢慢的完成這個輪廓裏面的任何東西。那麼就還有一個問題了,關於邊界的問題,這個本身把握,我只是告訴你,你要先寫僞代碼,而後就和你上學的時候作填空題同樣 把代碼填寫進去就好了,因此 接下來,你必定要生生的印在你的骨子裏:

一、勾畫你的程序輪廓,多寫僞代碼,最好是以這樣的形式來「student.learn(math);student.answerQuestionFrom(MathTeacher);student.goBackTo(Home)」這樣的代碼,一看就知道是幹什麼的,而後你就這樣寫,不作具體實現。而後直到你滿意爲止,那麼僞代碼的過程就算完成了。

二、填充僞代碼,這個就是作具體的實現,就是根據你的僞代碼去填充一些個代碼塊,該有異常的拋異常,該判斷的就判斷,該怎麼的就怎麼樣弄

三、提煉和抽象封裝,這個不解釋,不明白的看我前一篇文章,這樣的目的就是爲了完成複用 沒有別的意思

有了以上三個步驟,基本能寫出人能看明白的代碼了,假如你看不明白,只有一種結果,那就是,你想坑你的隊友!!

好了 其實碼代碼,只要你騷味有點人文關懷,我以爲都能寫出一些有良心的代碼,無良程序員不在個人討論方位以內。

若是有你什麼好的博文方向,你也能夠給我留言,反正我最近都是在看關於代碼組結構方面的數據,我認爲,假如還按照之前的那樣呃編程方式,已經徹底不符合咱們現代編程的方向了。最後給你們推薦一本書,叫《實現模式》我以爲做者寫出來的不少的觀點基本上好的代碼裏面也都有體現,不行你找幾個開源框架的代碼看看,那種國內的所謂的開源代碼(固然也有好的,我博客裏的那個就不錯,開源的項目您就別看的,坑爹的很)。好了就這麼多。下期的博客咱們再扯關於面對對像過程當中,代碼運行的不二法門,絕對精彩 不容錯過啊!!

相關文章
相關標籤/搜索