構(gòu)和輸入/輸出方法。所以在進行編碼監(jiān)理時重點從一下幾個方面把握:
1) 源程序文檔化
(1) 符號名的命名
符號名即標識符,包括模塊名、變量名、常量名、標號名、子程序名、數(shù)據(jù)區(qū)名以及緩沖區(qū)名等等。這些名字應(yīng)能反映它所代表的實際東西,應(yīng)有一定實際意義。例如,表示次數(shù)的量用Times,表示總量的用Total,表示平均值的用Average,表示和的量用Sum等等。
名字不是越長越好,應(yīng)當選擇精煉的意義明確的名字。必要時可使用縮寫名字,但這時要注意縮寫規(guī)則要一致,并且要給每一個名字加注釋。同時,在一個程序中,一個變量只應(yīng)用于一種用途。
?。?) 程序的注釋
夾在程序中的注釋是程序員與日后的程序讀者之間通信的重要手段。注釋決不是可有可無的。一些正規(guī)的程序文本中,注釋行的數(shù)量占到整個源程序的1/3到1/2,甚至更多。注釋分為序言性注釋和功能性注釋。
序言性注釋通常置于每個程序模塊的開頭部分,它應(yīng)當給出程序的整體說明,對于理解程序本身具有引導(dǎo)作用。有些軟件開發(fā)部門對序言性注釋做了明確而嚴格的規(guī)定,要求程序編制者逐項列出。有關(guān)項目包括:程序標題;有關(guān)本模塊功能和目的的說明;主要算法;接口說明:包括調(diào)用形式,參數(shù)描述,子程序清單;有關(guān)數(shù)據(jù)描述:重要的變量及其用途,約束或限制條件,以及其它有關(guān)信息;模塊位置:在哪一個源文件中,或隸屬于哪一個軟件包;開發(fā)簡歷:模塊設(shè)計者,復(fù)審者,復(fù)審日期,修改日期及有關(guān)說明等。
功能性注釋嵌在源程序體中,用以描述其后的語句或程序段是在做什么工作,或是執(zhí)行了下面的語句會怎么樣。而不要解釋下面怎么做。要點:描述一段程序,而不是每一個語句;用縮進和空行,使程序與注釋容易區(qū)別;注釋要正確。
?。?) 標準的書寫格式
視覺組織用空格、空行和移行來實現(xiàn)。恰當?shù)乩每崭瘢梢酝怀鲞\算的優(yōu)先性,減少發(fā)生編碼的錯誤;自然的程序段之間可用空行隔開;移行也叫做向右縮格。它是指程序中的各行不必都在左端對齊,都從第一格起排列,這樣做使程序完全分不清層次關(guān)系。對于選擇語句和循環(huán)語句,把其中的程序段語句向右做階梯式移行。使程序的邏輯結(jié)構(gòu)更加清晰。
2) 數(shù)據(jù)說明
在設(shè)計階段已經(jīng)確定了數(shù)據(jù)結(jié)構(gòu)的組織及其復(fù)雜性。在編寫程序時,則需要注意數(shù)據(jù)說明的風(fēng)格。為了使程序中數(shù)據(jù)說明更易于理解和維護,必須注意以下幾點。
?。?) 數(shù)據(jù)說明的次序應(yīng)當規(guī)范化
數(shù)據(jù)說明次序規(guī)范化,使數(shù)據(jù)屬性容易查找,也有利于測試,排錯和維護。原則上,數(shù)據(jù)說明的次序與語法無關(guān),其次序是任意的。但出于閱讀、理解和維護的需要,最好使其規(guī)范化,使說明的先后次序固定。
?。?) 說明語句中變量安排有序化
當多個變量名在一個說明語句中說明時,應(yīng)當對這些變量按字母的順序排列。帶標號的全程數(shù)據(jù)也應(yīng)當按字母的順序排列。
?。?) 使用注釋說明復(fù)雜數(shù)據(jù)結(jié)構(gòu)
如果設(shè)計了一個復(fù)雜的數(shù)據(jù)結(jié)構(gòu),應(yīng)當使用注釋來說明在程序?qū)崿F(xiàn)時這個數(shù)據(jù)結(jié)構(gòu)的固有特點。
?。?) 語句結(jié)構(gòu)
在設(shè)計階段確定了軟件的邏輯流結(jié)構(gòu),但構(gòu)造單個語句則是編碼階段的任務(wù)。語句構(gòu)造力求簡單、直接,不能為了片面追求效率而使語句復(fù)雜化。
比如:在一行內(nèi)只寫一條語句;程序編寫首先應(yīng)當考慮清晰性;程序要能直截了當?shù)卣f明程序員的用意;除非對效率有特殊的要求,程序編寫要做到清晰第一,效率第二,不要為了追求效率而喪失了清晰性;首先要保證程序正確,然后才要求提高速度,反過來說,在使程序高速運行時,首先要保證它是正確的;避免使用臨時變量而使可讀性下降;讓編譯程序做簡單的優(yōu)化;盡可能使用庫函數(shù);避免不必要的轉(zhuǎn)移;盡量采用基本的控制結(jié)構(gòu)來編
項目經(jīng)理勝任力免費測評PMQ上線啦!快來測測你排多少名吧~
http://m.opto-elec.com.cn/pmqhd/index.html