1. 程式人生 > >學習程式設計一年多的體會

學習程式設計一年多的體會

  學軟體這麼久以來,從高中剛剛開始自學的VB到C再到C++,然後到C#,最後到現在的Java,一直以來很多身邊的朋友都在為學程式設計而煩惱,其實個人覺得很多朋友都走入了誤區。

        很多朋友在學習某種語言的時候都只是去注重怎麼使用該語言的語法,並沒注重培養自己的程式設計思想,這就導致了寫起程式來極為困難。
        經常聽到很多朋友在問為什麼我們要學C,C早就過時了。其實這種想法是錯誤的,C難,但是卻經典!個人認為C主要交給我的是程式設計的思維,而非它的語法!也有人說C++/C#/JAVA中的類和物件很難理解,為什麼要學呢?其實原因很簡單,因為它們更接近我們的生活,我們大家就是一個類,單個個體就是物件,物件是一個具體的事物。這些知識都是相互關聯的,如果你連C都沒學好,連面向過程都沒弄明白,又怎麼去弄明白麵向物件的C++/C#/JAVA呢?

        程式設計是一個逆向的過程,根據個人的一些粗淺的經驗,其實寫一個程式前,首先要在大腦中先對整個程式先有一個大概的輪廓,這個程式要實現什麼樣的功能,顯示出什麼樣的結果,它的計算過程是什麼樣,這都要我們在編寫程式前先想好,而這個過程就是逆向思維的過程。有些朋友說為什麼每次老師給出了題目,自己坐在電腦旁卻怎麼也寫不出來?其實那是因為你沒有按以上的步驟來,沒有在老師告訴你題目後好好想想,這個程式該實現什麼功能,該用什麼方法來運算,說得簡單點你有沒有想過程式執行後跳出的對話方塊長什麼樣呢?如果想到了,恭喜你,接下來就簡單了,直接按照你想的樣子去設計你的程式。比如說,現在我要用C設計一個簡單的加法運算的小程式,那麼首先我先想到的是程式執行後第一部是提示使用者這是一個簡單的加法運算的程式,然後是提示使用者輸入第一個數值,接著是提示使用者輸入第二個數值,最後顯示兩個數值相加後等於的結果;這就是我們編寫程式時所需要想的第一部;接下來是我們編寫的具體過程,根據上面我們想象程式執行後的樣子,我們接下來就該給程式定下資料型別了,既然是數值肯定有整數和浮點數,而我們的程式沒有要求使用者一定要輸入整數,那麼使用者就可能會輸入浮點型型別的數值,那我們在給兩個數定義型別的時候就該把他們定義為浮點型型別,這樣以免我們的程式出錯。然後我們要在mian函式裡將剛剛我們想好的資料型別定義出來,假設我們定義的是 i 、 j和 z  三個變數,接下來寫出一個printf,提示使用者這個程式是一個簡單的加法運算,然後換行,換行後是另一個printf提示使用者輸入程式的第一個數值,接著是scanf,將使用者輸入的數字儲存在剛剛我們定義的第一個浮點型型別的變數 i 裡,然後用printf提示使用者輸入程式的第二個數值,將使用者輸入的數字儲存在我們定義的第二個浮點型型別的變數 j  裡,接著就是計算 i+j  將該結果存在我們定義的 z  變數中, 最後用printf將我們 z  變數的結果顯示出來。這就是寫一個程式的整個過程,我們可以將這種思想用在各種語言程式設計的程式中,而任何語言編寫程式的過程都應該是這樣的一個流程,思路清晰了,那麼下手就快。借用一句話:只有想不到,沒有做不到!只要我們在寫程式前多想想,這個程式長什麼樣,實現什麼功能,然後按照我們想的把它轉換成對應的語言就成了我們想要的程式。

        上面說的只是一個程式設計思維的過程,接下來我們說說要想成為一個合格的程式設計人員該注意的幾個事項!
        1、一個好的程式不僅是它的使用者友好度好,同時還有它的程式碼易讀易懂,在我們編寫程式的同時一定要注意最好在每條語句後加上這條語句的註釋,比如程式碼開始編寫前先給這個程式寫一個描述;比如說 :該程式的程式名、程式功能、程式建立者、版本號、優化時間和記錄等;而在程式中對與我們定義的函式,我們也應該給該函式做好註釋;比如說:函式名、引數、功能描述、返回值、丟擲異常、作者等;這樣的描述可以讓人對一個函式,一個檔案有一個總體的認識,對程式碼的易讀性和易維護性有很大的好處。這是好的作品產生的開始。

        2、在我們寫的程式中我們要學會給我們的程式排版,經常是用縮排、空格、換行、空行、對齊等對我們的程式排版,這不僅使我們的程式美觀而且還易於程式排錯!
        3、多讀一下那些優秀的程式碼,在空閒時間裡多去CSDN等這類技術論壇裡逛逛,時刻記住IT行業更新的速度很快,你一天不學些新知識,一年下來你就真正的out了!在學校學的東西永遠的是基礎,不是社會所需的知識,那些只是讓我們進入社會後更快的接收新知識的起點,不要滿足與學校給的那些知識,閒暇下來後多去網路上接一些任務做做,這樣不僅可以提高自己的動手能力、知識面、眼界還能給自己賺點生活費,等你真的接了任務你才知道自己的知識真的太少了!

        各位這是我第一次寫技術方面的文章,寫得不好或者有錯的地方,請大家指正和見諒,謝謝!

作於:2011-12-11 01:36

原部落格作廢,已遷移至目前部落格