摘 要:文章探討了軟件開發的編程規范,研究如何建立編程規范,從而增強編程人員的合作,提高項目開發的效率等。
關鍵詞:軟件開發;編程;規范
隨著信息技術的發展,軟件的開發越來越多,如何規范并有效地編程是軟件開發過程中的重要內容,按照編碼規范書,統一編程人員的編程風格,能夠提高項目中編程人員的溝通與合作,提高整個團隊的開發效率,提高整個項目的可讀性、可維護性、可修改性、可靠性及一致性。通過編寫編碼規范書,為項目確立一個統一的編碼風格,約束每一位開發人員的編碼寫法,統一編碼寫法,提高編程的質量,提高編程的可閱讀性,盡力杜絕因編碼風格引起的安全性問題及閱讀理解代碼困難等隱患。
1 縮進、間隔、對齊
每一行代碼不能超過80個字符(包括之前縮進的TAB),如果超過80個字符的話要進行折行處理,同時如果折行的話,要注意如何斷行,盡力在代碼長度接近80字符的位置斷行,同時盡力在操作符優先級低的部分進行斷行且同時折行部分做相應的縮進,這樣能夠增加代碼的可讀性。盡力避免出現很大的類、很大的方法和很大的功能模塊。如果出現較大的類,則應把相應功能代碼重構到其他類中,通過組合燈進行調用。如果出現較大的方法、功能模塊的話,則應用子方法等進行抽取,這樣也有利于理解和代碼的復用的優點,代碼應該以清楚明了的邏輯實現復雜的功能。
每一個子模塊都在父模塊縮進一個TAB(一個TAB四個空格),能夠很好地體現邏輯層次,提高代碼的可讀性。循環、條件等內部代碼應縮進一個TAB。相同層次的代碼對齊。左大括號“{”應該緊隨相關語句之后,而相呼應的右大括號“}”則單獨作為一行出現,且縮進與相對應的左大括號“{”的縮進相同。if-else語句或者for、while等循環語句必須用左大括號“{”和右大括號“}”把要執行的內容包含在一起,不論內部的執行是一行代碼還是多行代碼,不要用縮進的形式代替左大括號“{”和右大括號“}”的功能,這樣容易理解閱讀,且不易出錯。
類、方法、重要的功能模塊、較大的功能模塊之間應該添加空行,同時在操作符的左右兩端添加空格,進行連續賦值時每一行的相應操作符應對齊,相同類型的變量定義緊挨著,關系緊密的行應該緊挨著,并把相應的操作符、類型、參數等對齊,以增加其可讀性。
2 命名規則
2.1 包、類、方法的命名規范
包、類、方法的命名為英文字符和數字,且首字符必須是英文字符,命名能夠準確反映相應的包、類、方法的意義,采用相關領域的專業術語,不要用Unicode的命名,不要用漢語拼音等形式命名。包名的字母為小寫,且包名要有相應的意義,例如:com.beijing.bean。類名的首字母為大寫,其他字母為小寫,大小寫結合,提高可讀性,每一個單詞的第一個字母大寫,其它的為小寫,單詞能夠反應該類、接口的含義和功能等,一般采用名詞。所有的接口名字之前加上I前綴。抽象類的名字之前Abstract前綴。例如:UserAction.java。類的實例則為小寫表示,比如User類的實例命名為user.java。
2.2 方法的命名
方法命名采用完整英語單詞,首字母小寫,其他單詞的第一個字母大寫,其他字母小寫,同時方法的名稱的第一個單詞往往是一些動詞,代表完成的操作等,例如:getDBConnection()。
2.3 變量和參數的命名
首字母小寫,其它單詞的第一個字母大寫,其他部分為小寫,例如: firstName、listAllCustomers、Manager。對于常量要采用完整的英文大寫單詞,且能正確反映相應的實際意義,比如static String MAN =“男”。
2.4 組件和部件的命名
組件和部件的命名則應該按照匈牙利命名的法則。匈牙利規則的基本原則非常簡單,名字由兩部分構成:類型(Type)和限定詞(Qualifier)[1]。即命名的原則:變量名=屬性+類型+對象描述,其中每一對象的名稱都要求有明確含義,可以取對象名字全稱或名字的一部分。例如:btnLogin,txtName。
3 注釋
代碼的書寫,要添加詳細的注釋,提高代碼在程序員間的理解和溝通。如果程序不被注釋的話,則該代碼毫無價值可言。好的注釋能增加代碼的清晰度,提高開發的效率。注釋要遵照簡潔、清楚易于理解的原則,避免拖沓冗長的描寫。注釋要給出功能性的說明,給出初始說明以及結果的描述,還應給出相應的原因等,不應為了注釋而注釋。變量、簡短語句的注釋在所在行的行尾添加,其他注釋在代碼語句之前添加注釋。每一個文件、包的頭部要注明相關的信息,比如該文件的名稱、版本、版權、創建和修改等相關信息,相關信息用/**/注釋。在方法前添加/**/注釋,注明相關的信息,名稱、方法功能說明、參數說明、返回值說明等信息。應對重要的變量添加注釋,說明其含義等等。復雜的分支、表達式、不易理解的循環等添加相應的注釋,概況其實現的功能內容等。
一個類的例子(簡略):
package dao;
import java.util.List;
import org.hibernate.Session;
/*
* 操作數據庫用的基礎類
* @作者 張三
* @創建時間 2015-05-12
* @修改作者 張三
* @修改時間 2015-05-12
*/
public class BaseDao {
/*
* 獲得總頁數。
* @param hql查詢用的hql語句
* @param pageSize每一頁的最大顯示數據條數
* @return totaPage 總頁數
* @throws Exception
*/
public int getCountPage(String hql, int pageSize) throws Exception {
// 操作數據庫用的Session對象
Session session = 1;
// 總頁數
int totaPage = 0;
try {
// 總頁數
totaPage=(count % pageSize ==0) ? (count / pageSize) : (count
/ pageSize + 1);
} catch (Exception ex) {
// 拋出異常
throw new DBException(“操作數據庫出錯!”);
}
return totaPage;
}
}
編碼規范在軟件項目開發中占據重要位置,項目開發不是一個人的項目,軟件項目是一個團隊開發的項目,合理有效的編碼規范有利于團隊成員間的溝通與合作,如何編寫合理有效的編程規范是每一個項目開發中研究和確定的。
參考文獻
[1]陳藍.軟件世界[J].軟件世界,1995(2):59.