編寫程序是一項系統(tǒng)而繁瑣的工作,它不僅需要程序設(shè)計人員具有一定的功底,更需要有良好的編程習(xí)慣和風(fēng)格。良好的編程習(xí)慣和風(fēng)格不僅可以使程序代碼更易于讀懂和修改,更重要的是,它可以使程序的結(jié)構(gòu)更加合理,有助于提高程序的執(zhí)行效率。下面是我在程序設(shè)計中總結(jié)的一些經(jīng)驗,供大家參考。
設(shè)計順序
在我們剛開始學(xué)習(xí)程序設(shè)計的時候,要編寫一個程序,總是先進(jìn)行一番構(gòu)思,然后就一邊寫代碼一邊調(diào)試。這種方法一般只適用于非常小的程序,根據(jù)軟件工程的特點,如果對所有程序都還按這種方法進(jìn)行設(shè)計,是不合理的。
其實,設(shè)計程序就像我們蓋高樓大廈,首先要設(shè)計圖紙,然后動工。所以,對于個人編寫程序來說,應(yīng)遵循以下步驟:
1、問題分析:對我們要使用程序設(shè)計手段去解決的問題進(jìn)行系統(tǒng)地分析,了解程序是做什么的,要達(dá)到一種什么樣的效果等。
2、結(jié)構(gòu)設(shè)計:也就是對程序的整體框架進(jìn)行設(shè)計,設(shè)計出我們需要使用的模塊等等,并畫出流程圖。
3、用戶界面設(shè)計:在此,我們要設(shè)計出用于與用戶交互的輸入輸出界面。
4、代碼設(shè)計:在這個步驟中,我們要進(jìn)行代碼的編寫。
5、調(diào)試:對程序中正在發(fā)生或可能發(fā)生的各種錯誤進(jìn)行處理。
6、維護(hù):通俗地說,維護(hù)就是對程序進(jìn)行升級,對原有錯誤進(jìn)行修改。
對于以上幾個步驟,我想大多數(shù)人會認(rèn)為代碼設(shè)計最為重要,但如果程序的結(jié)構(gòu)尚未清楚,我們在編寫代碼的時候就會發(fā)生混亂,一個程序性能的好壞,主要還是取決于它的結(jié)構(gòu)是否合理。因此,在程序設(shè)計中,我們要盡可能注意這一點,這樣才能使我們的程序更加完善。
設(shè)計環(huán)境
一個良好的編程環(huán)境可以使我們在編寫程序時,不至于造成各種資源的紊亂,還可以避免資源的丟失。建議大家要在放源程序的目錄下建立“Programs”文件夾;然后再以你要編寫的程序名和版本為名建立一個文件夾,用于存放整個源程序以及各種資源;最后,分別建立幾個文件夾,“document.”:用于存放程序文檔,包括流程圖等;“Resource”:用于存放圖片,聲音,影片等資源;“Debug”:用于存放調(diào)試的程序?!癛elease”:用于存放最終釋放的程序。
例如:我們要制作一個英語學(xué)習(xí)軟件,名為“English”,版本為1.0,那么我們的編程環(huán)境中應(yīng)存在以下文件夾:
[DRIVE]:\…\Programs\English1\Debug\
[DRIVE]:\…\Programs\English1\document.\
[DRIVE]:\…\Programs\English1\Resource\
[DRIVE]:\…\Programs\English1\Release\
另外,再建立一個專門的文件夾,用于存放各種模塊,以便能實現(xiàn)代碼的重用,這樣,我們就不用在每次寫程序時,都重寫所有的模塊,編程速度會有很大的提高。
設(shè)計技巧
代碼如果寫得很亂,程序便不易被閱讀與修改,所以,在編寫代碼時要注意以下幾點:
(1)注釋:寫注釋雖然要占用一定的時間,但在閱讀和修改代碼時卻會節(jié)省很多的時間。所以,建議大家在定義一個函數(shù)時,在函數(shù)的第一行寫出函數(shù)的作用,再用一行解釋函數(shù)的參數(shù),并在每個變量的定義語句后注釋出其作用。
(2)變量和函數(shù)的命名:每個程序都會使用很多的變量和函數(shù),如果隨意命名變量與函數(shù),每次使用時還得在變量或函數(shù)的定義語句處查出它的數(shù)據(jù)類型及名稱,而且隨意命名還會造成變量與函數(shù)重復(fù)定義。
建議大家使用匈牙利命名法,方法是:每個變量或函數(shù)的開頭都以其數(shù)據(jù)類型的縮寫命名,然后再加上代表這個變量或函數(shù)的作用的英文單詞簡寫共同組成變量或函數(shù)的名稱。例如:要定義用于計數(shù)的整型變量count,其定義語句為C\C++:int icount; Basic:Dim icount as Integer。以這種方法定義,不僅可以有效地避免變量與函數(shù)的混亂與重復(fù)定義,還可以保證數(shù)據(jù)類型的匹配。
(3)控件命名:如果在Windows下編程,你有可能會大量地使用控件,如果不對控件名嚴(yán)加管理,會造成很大程度的混亂,因此,建議在給控件命名時,以控件類型縮寫再加上代表這個控件作用的英文單詞的簡寫共同組成此控件的名稱。例如:你要命名一個按鈕控件,作用是進(jìn)行刪除操作,那么控件名可以命名為cmdDel。
并不是每個人都能成為程序員,但我們都在程序員之路上不斷進(jìn)步,追求更完美、更專業(yè)化的程序。不妨好好改造一下你的程序,你會從中感受到很多好處。
設(shè)計順序
在我們剛開始學(xué)習(xí)程序設(shè)計的時候,要編寫一個程序,總是先進(jìn)行一番構(gòu)思,然后就一邊寫代碼一邊調(diào)試。這種方法一般只適用于非常小的程序,根據(jù)軟件工程的特點,如果對所有程序都還按這種方法進(jìn)行設(shè)計,是不合理的。
其實,設(shè)計程序就像我們蓋高樓大廈,首先要設(shè)計圖紙,然后動工。所以,對于個人編寫程序來說,應(yīng)遵循以下步驟:
1、問題分析:對我們要使用程序設(shè)計手段去解決的問題進(jìn)行系統(tǒng)地分析,了解程序是做什么的,要達(dá)到一種什么樣的效果等。
2、結(jié)構(gòu)設(shè)計:也就是對程序的整體框架進(jìn)行設(shè)計,設(shè)計出我們需要使用的模塊等等,并畫出流程圖。
3、用戶界面設(shè)計:在此,我們要設(shè)計出用于與用戶交互的輸入輸出界面。
4、代碼設(shè)計:在這個步驟中,我們要進(jìn)行代碼的編寫。
5、調(diào)試:對程序中正在發(fā)生或可能發(fā)生的各種錯誤進(jìn)行處理。
6、維護(hù):通俗地說,維護(hù)就是對程序進(jìn)行升級,對原有錯誤進(jìn)行修改。
對于以上幾個步驟,我想大多數(shù)人會認(rèn)為代碼設(shè)計最為重要,但如果程序的結(jié)構(gòu)尚未清楚,我們在編寫代碼的時候就會發(fā)生混亂,一個程序性能的好壞,主要還是取決于它的結(jié)構(gòu)是否合理。因此,在程序設(shè)計中,我們要盡可能注意這一點,這樣才能使我們的程序更加完善。
設(shè)計環(huán)境
一個良好的編程環(huán)境可以使我們在編寫程序時,不至于造成各種資源的紊亂,還可以避免資源的丟失。建議大家要在放源程序的目錄下建立“Programs”文件夾;然后再以你要編寫的程序名和版本為名建立一個文件夾,用于存放整個源程序以及各種資源;最后,分別建立幾個文件夾,“document.”:用于存放程序文檔,包括流程圖等;“Resource”:用于存放圖片,聲音,影片等資源;“Debug”:用于存放調(diào)試的程序?!癛elease”:用于存放最終釋放的程序。
例如:我們要制作一個英語學(xué)習(xí)軟件,名為“English”,版本為1.0,那么我們的編程環(huán)境中應(yīng)存在以下文件夾:
[DRIVE]:\…\Programs\English1\Debug\
[DRIVE]:\…\Programs\English1\document.\
[DRIVE]:\…\Programs\English1\Resource\
[DRIVE]:\…\Programs\English1\Release\
另外,再建立一個專門的文件夾,用于存放各種模塊,以便能實現(xiàn)代碼的重用,這樣,我們就不用在每次寫程序時,都重寫所有的模塊,編程速度會有很大的提高。
設(shè)計技巧
代碼如果寫得很亂,程序便不易被閱讀與修改,所以,在編寫代碼時要注意以下幾點:
(1)注釋:寫注釋雖然要占用一定的時間,但在閱讀和修改代碼時卻會節(jié)省很多的時間。所以,建議大家在定義一個函數(shù)時,在函數(shù)的第一行寫出函數(shù)的作用,再用一行解釋函數(shù)的參數(shù),并在每個變量的定義語句后注釋出其作用。
(2)變量和函數(shù)的命名:每個程序都會使用很多的變量和函數(shù),如果隨意命名變量與函數(shù),每次使用時還得在變量或函數(shù)的定義語句處查出它的數(shù)據(jù)類型及名稱,而且隨意命名還會造成變量與函數(shù)重復(fù)定義。
建議大家使用匈牙利命名法,方法是:每個變量或函數(shù)的開頭都以其數(shù)據(jù)類型的縮寫命名,然后再加上代表這個變量或函數(shù)的作用的英文單詞簡寫共同組成變量或函數(shù)的名稱。例如:要定義用于計數(shù)的整型變量count,其定義語句為C\C++:int icount; Basic:Dim icount as Integer。以這種方法定義,不僅可以有效地避免變量與函數(shù)的混亂與重復(fù)定義,還可以保證數(shù)據(jù)類型的匹配。
(3)控件命名:如果在Windows下編程,你有可能會大量地使用控件,如果不對控件名嚴(yán)加管理,會造成很大程度的混亂,因此,建議在給控件命名時,以控件類型縮寫再加上代表這個控件作用的英文單詞的簡寫共同組成此控件的名稱。例如:你要命名一個按鈕控件,作用是進(jìn)行刪除操作,那么控件名可以命名為cmdDel。
并不是每個人都能成為程序員,但我們都在程序員之路上不斷進(jìn)步,追求更完美、更專業(yè)化的程序。不妨好好改造一下你的程序,你會從中感受到很多好處。