J2EE項目編碼注意事項

來源:互聯網
上載者:User

    根據當前項目中代碼存在的一些問題,編寫了一個編碼注意事項。這些注意事項都是針對自己當前實施的項目的代碼提出來的,並不作為項目的編碼規範,僅為項目群組成員提供參考。

 

1. 所有源檔案(包括 .java、.jsp、.properties、.html、.js、.css、.xml、.txt等)統一使用 UTF-8 編碼。

2. 每天上班時,從 SVN 擷取最新代碼;下班前,必須將測試通過的功能模組代碼提交至 SVN 版本庫。提交至SVN的代碼必須是完整的!

1. JAVA

1. 類和方法的命名必須具有實際意義,命名風格必須保持一致,禁止使用中英混搭(盡量使用英文,而非漢語拼音)。

2. 禁止寫入程式碼,項目中經常用到的且在整個項目開發、運行過程中始終不會修改的值,可以作為java常量統一定義在一個常量介面中;如果在項目開發、運行過程中可能會需要進行修改的值(如資料庫的配置資訊),則必須定義在設定檔中。

3. 對於 I/O 流對象JDBC操作資料庫的對象Socket 對象LDAP連線物件JMS連線物件等,在使用完成時,必須在 finally 塊中將其關閉。如果是在迴圈體中聲明的,則必須在迴圈體中關閉。(誰聲明,誰管理)。

4. 編譯層級在 jdk 1.5 以上的系統,在開發時集合類建議使用泛型,以免程式中到處都是警告。

5. 盡量避免在http session 中存放大對象,尤其是很大的集合對象。

6. 通過JDBC操作資料庫的時候,能夠通過一條 SQL 陳述式完成的功能,盡量避免使用多條 SQL 分開執行,如果同時執行多條 DML 語句,則必須開啟事務,保證資料的完整性。對於需要傳入參數的操作,為了防止SQL注入,必須使用 java.sql.PreparedStatement,而不能使用 java.sql.Statement。

7. 很多類都需要使用到的方法,盡量提取到 *Util 類中,而不要在每個用到該方法的類中都定義一次;如果只是少數幾個同種類型的類共用的方法,則可以考慮將其提取到父類中。

8. 常用的字串數字日期數組操作,應當盡量使用 apache-commons-lang.jar 中的方法;常用的I/O操作,應當盡量使用 apache-commons-io.jar 中的方法,而不要自己再另外去定義了。

9. Servlet或Action返回 json 格式的資料時,切莫手動拼接 json 格式的字串,而應該直接使用 json-lib.jar 中的相關類進行操作。

10. 程式中禁止出現 System.out.println...的語句,應該使用 logger.debug 或 logger.info 代替;e.printStackTrace();則應該使用 logger.warn(e) 或logger.error(e) 代替。

11. 對於代碼中的 // TODO 標記語句,在完成了該任務的代碼編寫後,應當及時刪除。

12. 如果一個類有成對的操作時,方法的命名一定要注意相對應,常見的方法命名對應關係有:
add-->remove、insert-->delete、put-->get、create-->drop、init-->destroy、open-->close、start-->stop、begin-->end、first-->last、next-->previous、up-->down、send-->receive、lock-->unlock、show-->hide

2. JSP

1. 多個頁面共用的部分(如:頁頭和頁尾)應該提取為單獨的 jsp 檔案,然後在各個使用到該部分代碼的頁面用 <%@taglib inclue ...%> 將對應的程式碼封裝含進來。

2. 引入其他 jsp 檔案的時候,盡量使用指令引入,如果需要動態傳入參數,才考慮使用 jsp 動作進行引入。

3. 能用 EL 表達和 jsp 標籤實現的,盡量避免使用 <% %> 這樣的Java指令碼代碼。

4. jsp 檔案中引入 java 類的時候,為了提高代碼的可讀性,盡量每引入一個類單獨佔用一行。

3. HTML

1. 每個HTML頁面的第一行必須為 DOCTYPE 聲明,告知瀏覽器解析CSS的模式,以免頁面在各個瀏覽器中顯示的效果不一樣。

2. 盡量使用 DIV 進行布局,而不要使用 Table 嵌套 Table 的形式進行頁面配置。

3. 給Table、TD等元素指定寬度和高度時,應該使用樣式進行指定,而不是使用元素的 width 和 height 屬性進行指定。

4. 頁面內元素的嵌套必須為一一對應。

5. 給元素內的文字內容的四周添加空白地區禁止使用 &nbsp; 和 <br>,而應該改為使用元素的 padding 樣式進行控制。

4. JavaScript

1. 共用的 js 片段必須提取為單獨的方法。

2. 多個頁面共用的 javascript 方法必須提取為單獨的 js 檔案,禁止在每個頁面中寫一個相同方法。

3. 方法和變數的命名必須有實際意義,禁止命名為類似於 aaa、bbb 的名稱。

4. 頁面載入完成後馬上執行的方法,盡量避免使用 <body onload="xxx()"> 和 window.onload=function(){} 的形式,應該改為使用 jQuery(document).ready(function(){}); 的形式。

5. 盡量避免在同一個頁面或同一個 js 檔案中同時使用原生的 js 和 jQuery 對頁面元素進行操作。

5. CSS

1. 多個頁面共用的樣式,必須提取為單獨的 css 檔案。

2. css 檔案中的樣式類名稱必須有實際意義,禁止使用類似於STYLE1、STYLE2 的名稱進行命名。

3. css檔案中止使用 tagName tagName (如 div div) 這樣的選取器,應該將其改為 #id tagName或 .class tagName 這樣的形式。

4. css 檔案中選取器的排序:元素選取器 –> 類別選取器 –> id選取器

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.