public List getAllProduct(); //正確。定義返回類型 public ArrayList getAllProduct(); //錯誤!!定義返回類型 public List queryByCritical(Map criticals); //定義參數類型 public List queryByCritical(HashMap criticals); //錯誤!!定義參數類型
List result = null;//定義類型的時候未List result = new ArrayList();//只有構造時出現的實現類 Map result = null;//定義類型的時候未Map result = new HashMap();//只有構造時出現的實現類
String user_name= null;//錯誤!!! 即使數據庫中這種風格 String userName = null;//正確寫法 int CET_SIX=6;//常量命名時用下劃線區分單詞,字符全部大寫
//錯誤!!不能出現如此寫法,需要定義為常量 if(user.getNumber() == 1001 ) { //do something } //正確寫法 static final int ADMINISTRATOR_ROLE_NUMBER = 1001; static final int MIN_WIDTH = 4; static final int MAX_WIDTH = 999; static final int GET_THE_CPU = 1 if(user.getNumber() == ADMINISTRATOR_ROLE_NUMBER ) { //do something }
//sample code snippet for(int i=0;i<10;i++){ ValueObject vo = new ValueObject(); }
//recommend this style ValueObject vo = null; for(int i=0;i<10;i++){ vo = new ValueObject(); }
//sample code snippet String sql =”INSERT INTO test (”; Sql+=”column1,column2,values(” Sql+=”1,2)”
StringBuffer sql = new StringBuffer(); sql.append(”INSERT INTO test (”); sql.appdend(”column1,column2,values(”); sql.append(”1,2)”);
if ( condition) //single statement, code here while ( condition ) //single statement, code here
//IF if ( condition) { //code here } //WHILE while ( condition ) { // code here }
if ( foo ) { // code here } try { // code here } catch (Exception bar) { // code here } finally { // code here } while ( true ) { // code here }
System.out.println(" debug 信息");
import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; private static Log logger = LogFactory.getLog(SQLTable.class); logger.debug("debug 信息"); //注意這里沒有涉及字符串操作 //涉及字符串操作或者方法調用的,需要用logger.isDebugEnable()來做判斷 if(logger.isDebugEnable()){ logger.debug(String1 + string 2 + string3 + object.callMethod()); }
logger.info(""Can't find column to build index. ColName=" + columnName");
try{ //handle something } catch (Exception ex) { //do nothing. 請確定該exception是否可以被忽略!!!! }
try{ //handle something } catch (Exception ex) { ex.printStackTrace ();//不在程序中出現如此寫法!! }
try{ //handle something } catch (Exception ex) { log.error(ex);//這樣將僅僅是輸出ex.getMessage(),不能輸出stacktrace }
try{ //handle something } catch (Exception ex) { log.error("錯誤描述",ex);//使用log4j做異常記錄 }
//sample code snippet Connection con = null; Statement st = null; ResultSet rs = null; try { con = JNDIUtils.getConnection(); st = … rs = … } finally { JDBCUtil.safeClose(rs);//close resultset ,it is optional JDBCUtil.safeClose(st);//close statement after close resultset, it is optional JDBCUtil.safeClose(con);//make sure release it right now }
//sample code snippet String username = … … if(“mark”.equals(userName)){ … }
//recommend coding convention import java.util.HashMap; import java.util.Map; import java.util.List; //import java.util.*; NOT!! //We can use eclipse,right click, choose Source -> Organize Imports //hotkey:Ctrl+Shift+O
/** * $Id: $ * */
<?xml version="1.0" encoding="UTF-8"?> <!-- $Id:$ -->
//sample code snippet //TODO issue: the data format, should be fixed
//user table中的該字段允許為null,使用時就需要去check,否則可能出現nullpoint exception if(user.getDescription()!=null) { //do something }
<input type="text" maxlength = "10" size="20"/>