/*
* æä»¶åï¼å¯éï¼ï¼å¦ CodingRuler.java
*
* çæ¬ä¿¡æ¯ï¼å¯éï¼ï¼å¦ï¼@version 1.0.0
*
* çæç³æï¼å¼æºä»£ç ä¸è¬é½éè¦æ·»å ï¼ï¼å¦ï¼Copyright (C) 2010-2013 *** Corporation.
*/
/**
* ç±»çå¤§ä½æè¿°æ¾å¨è¿éã
*
*
* NOTEï¼ä»¥ä¸é¨å为ä¸ä¸ªç®è¦çç¼ç è§èï¼æ´å¤è§è请åè ORACLE 宿¹ææ¡£ã
* å°åï¼http://www.oracle.com/technetwork/java/codeconventions-150003.pdf
* å¦å¤ï¼è¯·ä½¿ç¨ UTF-8 æ ¼å¼æ¥æ¥ç代ç ï¼é¿å
åºç°ä¸æä¹±ç ã
* è³äºæ³¨éåºè¯¥ä½¿ç¨ä¸æè¿æ¯è±æï¼è¯·èªå·±è¡å³å®ï¼æ ¹æ®å
¬å¸æé¡¹ç®çè¦æ±èå®ï¼æ¨è使ç¨è±æã
*
* 1. æ´ç代ç
*
* - 1.1. Java 代ç ä¸ä¸å
许åºç°å¨è¦åï¼æ æ³æ¶é¤çè¦åè¦ç¨ @SuppressWarningsã
*
- 1.2. 廿æ ç¨çå
ãæ¹æ³ãåéçï¼åå°åµå°¸ä»£ç ã
*
- 1.3. ä½¿ç¨ Lint å·¥å
·æ¥æ¥çå¹¶æ¶é¤è¦ååé误ã
*
- 1.4. ä½¿ç¨ Ctrl+Shift+F æ¥æ ¼å¼å代ç ï¼ç¶ååè¿è¡è°æ´ã
*
- 1.5. ä½¿ç¨ Ctrl+Shift+O æ¥æ ¼å¼å Import å
ã
*
*
* 2. å½åè§å
* 2.1. åºæ¬åå
*
* - 2.1.1. åéï¼æ¹æ³ï¼ç±»å½åè¦è¡¨ä¹ï¼ä¸¥æ ¼ç¦æ¢ä½¿ç¨ name1, name2 çå½åã
*
- 2.1.2. å½åä¸è½å¤ªé¿ï¼éå½ä½¿ç¨ç®åæç¼©åãï¼æå¥½ä¸è¦è¶
è¿ 25 ä¸ªåæ¯ï¼
*
- 2.1.3. æ¹æ³å以å°å忝å¼å§ï¼ä»¥åæ¯ä¸ªåè¯é¦åæ¯å¤§åã
*
- 2.1.4. é¿å
使ç¨ç¸ä¼¼æè
ä»
å¨å¤§å°å䏿åºå«çååã
*
- 2.1.5. é¿å
ä½¿ç¨æ°åï¼ä½å¯ç¨ 2 ä»£æ¿ toï¼ç¨ 4 ä»£æ¿ for çï¼å¦ go2Cleanã
*
*
* 2.2. ç±»ãæ¥å£
*
* - 2.2.1. ææåè¯é¦åæ¯é½å¤§åã使ç¨è½ç¡®åååºè¯¥ç±»ãæ¥å£å«ä¹ãåè½ççè¯ãä¸è¬éç¨åè¯ã
*
- 2.2.2. æ¥å£å¸¦ I åç¼ï¼æable, ible, erçåç¼ãå¦ISeriableã
*
*
* 2.3. åæ®µã常é
*
* - 2.3.1. æååé以 m å¼å¤´ï¼éæåé以 s å¼å¤´ï¼å¦ mUserName, sInstanceã
*
- 2.3.2. 常éå
¨é¨å¤§åï¼å¨è¯ä¸è¯ä¹åç¨ä¸åçº¿è¿æ¥ï¼å¦ MAX_NUMBERã
*
- 2.3.3. 代ç ä¸ç¦æ¢ä½¿ç¨ç¡¬ç¼ç ï¼æä¸äºæ°åæå符串å®ä¹æå¸¸ç¨éã
*
- 2.3.4. 对äºåºå¼ä¸ç¨ç彿°ï¼ä¸ºäºä¿æå
¼å®¹æ§ï¼é常添å @Deprecatedï¼å¦ {@link #doSomething()}
*
*
* 3. 注é
* 请åè {@link #SampleCode} ç±»çæ³¨éã
*
* - 3.1. 叏鿳¨éï¼åè§ {@link #ACTION_MAIN}
*
- 3.2. åéæ³¨éï¼åè§ {@link #mObject0}
*
- 3.3. 彿°æ³¨éï¼åè§ {@link #doSomething(int, float, String)}
*
*
* 4. Class å
é¨é¡ºåºåé»è¾
*
* - 4.1. æ¯ä¸ª class é½åºè¯¥æç
§ä¸å®çé»è¾ç»ææ¥æååºæååéãæ¹æ³ãå
é¨ç±»çï¼
* ä»èè¾¾å°è¯å¥½çå¯è¯»æ§ã
*
- 4.2. æ»ä½ä¸æ¥è¯´ï¼è¦æç
§å
public, å protected, æå private, 彿°çæå¸
* ä¹åºè¯¥æä¸ä¸ªé»è¾çå
å顺åºï¼ç±éå°è½»ã
*
- 4.3. 以ä¸é¡ºåºå¯ä¾åèï¼
* å®ä¹TAGï¼ä¸è¬ä¸º privateï¼å¯éï¼
* å®ä¹ public 常é
* å®ä¹ protected 常éãå
é¨ç±»
* å®ä¹ private åé
* å®ä¹ public æ¹æ³
* å®ä¹ protected æ¹æ³
* å®ä¹ private æ¹æ³
*
*
* 5. 表达å¼ä¸è¯å¥
* 5.1. åºæ¬ååï¼éç¨ç´§åå飿 ¼æ¥ç¼å代ç
* 5.2. ç»å
*
* - 5.2.1. æ¡ä»¶è¡¨ç¤ºå¼ï¼åè§ {@link #conditionFun(boolean)}
*
- 5.2.2. switch è¯å¥ï¼åè§ {@link #switchFun(int)}
*
- 5.2.3. 循ç¯è¯å¥ï¼åè§ {@link #circulationFun(boolean)}
*
- 5.2.4. é误ä¸å¼å¸¸ï¼åè§ {@link #exceptionFun()}
*
- 5.2.5. æé¡¹ï¼åè§ {@link #otherFun()}
*
- 5.2.6. æ¹æ³¨ï¼åè§ {@link #doSomething(int, float, String)}
*
*
* @author ä½è
å
* @since 2013-XX-XX
*/
@SuppressWarnings("unused")
public class CodingRuler {
/** å
¬æç叏鿳¨é */
public static final String ACTION_MAIN = "android.intent.action.MAIN";
/** ç§æç叏鿳¨éï¼åç±»åç常éå¯ä»¥ååå¹¶ç´§åå®ä¹ï¼ */
private static final int MSG_AUTH_NONE = 0;
private static final int MSG_AUTH_SUCCESS = 1;
private static final int MSG_AUTH_FAILED = 2;
/** ä¿æ¤çæååéæ³¨é */
protected Object mObject0;
/** ç§æçæååé mObject1 注éï¼åç±»åçæååéå¯ä»¥ååå¹¶ç´§åå®ä¹ï¼ */
private Object mObject1;
/** ç§æçæååé mObject2 注é */
private Object mObject2;
/** ç§æçæååé mObject3 注é */
private Object mObject3;
/**
* å¯¹äºæ³¨éå¤äºä¸è¡çï¼éç¨è¿ç§æ¹å¼æ¥
* å®ä¹è¯¥åé
*/
private Object mObject4;
/**
* å
¬ææ¹æ³æè¿°...
*
* @param param1 åæ°1æè¿°...
* @param param2 åæ°2æè¿°...
* @param paramXX åæ°XXæè¿°... ï¼æ³¨æï¼è¯·å°åæ°ãæè¿°é½å¯¹é½ï¼
*/
public void doSomething(int param1, float param2, String paramXX) {
// 以䏿³¨éæ ç¾å¯ä»¥éè¿Eclipseå
ç½®çTaskæä»¶çå°
// TODO 使ç¨TODOæ¥æ 记代ç ï¼è¯´ææ è¯å¤æåè½ä»£ç å¾
ç¼å
// FIXME 使ç¨FIXMEæ¥æ 记代ç ï¼è¯´ææ è¯å¤ä»£ç éè¦ä¿®æ£ï¼çè³ä»£ç æ¯
// é误çï¼ä¸è½å·¥ä½ï¼éè¦ä¿®å¤
// XXX 使ç¨XXXæ¥æ 记代ç ï¼è¯´ææ è¯å¤ä»£ç è½ç¶å®ç°äºåè½ï¼ä½æ¯å®ç°
// çæ¹æ³æå¾
忦·ï¼å¸æå°æ¥è½æ¹è¿
}
/**
* ä¿æ¤æ¹æ³æè¿°...
*/
@Deprecated
protected void doSomething() {
// ...implementation
}
/**
* ç§ææ¹æ³æè¿°...
*
* @param param1 åæ°1æè¿°...
* @param param2 åæ°2æè¿°...
*/
private void doSomethingInternal(int param1, float param2) {
// ...implementation
}
/**
* æ¡ä»¶è¡¨è¾¾å¼ååã
*/
private void conditionFun() {
boolean condition1 = true;
boolean condition2 = false;
boolean condition3 = false;
boolean condition4 = false;
boolean condition5 = false;
boolean condition6 = false;
// ååï¼ 1. ææ if è¯å¥å¿
é¡»ç¨ {} å
æ¬èµ·æ¥ï¼å³ä¾¿åªæä¸å¥ï¼ç¦æ¢ä½¿ç¨ä¸å¸¦{}çè¯å¥
// 2. å¨å«æå¤ç§è¿ç®ç¬¦ç表达å¼ä¸ï¼ä½¿ç¨åæ¬å·æ¥é¿å
è¿ç®ç¬¦ä¼å
级é®é¢
// 3. 夿æ¡ä»¶å¾å¤æ¶ï¼è¯·å°å
¶å®æ¡ä»¶æ¢è¡
if (condition1) {
// ...implementation
}
if (condition1) {
// ...implementation
} else {
// ...implementation
}
if (condition1) /* ç¦æ¢ä½¿ç¨ä¸å¸¦{}çè¯å¥ */
condition3 = true;
if ((condition1 == condition2)
|| (condition3 == condition4)
|| (condition5 == condition6)) {
}
}
/**
* Switchè¯å¥ååã
*/
private void switchFun() {
// ååï¼ 1. switch è¯å¥ä¸ï¼break ä¸ä¸ä¸æ¡ case ä¹é´ï¼ç©ºä¸è¡
// 2. 对äºä¸éè¦ break è¯å¥çï¼è¯·ä½¿ç¨ /* Falls through */æ¥æ 注
// 3. 请é»è®¤åä¸ default è¯å¥ï¼ä¿æå®æ´æ§
int code = MSG_AUTH_SUCCESS;
switch (code) {
case MSG_AUTH_SUCCESS:
break;
case MSG_AUTH_FAILED:
break;
case MSG_AUTH_NONE:
/* Falls through */
default:
break;
}
}
/**
* 循ç¯è¡¨è¾¾å¼ã
*/
private void circulationFun() {
// ååï¼ 1. å°½é使ç¨for eachè¯å¥ä»£æ¿åå§çforè¯å¥
// 2. 循ç¯ä¸å¿
é¡»æç»æ¢å¾ªç¯çæ¡ä»¶æè¯å¥ï¼é¿å
æ»å¾ªç¯
// 3. 循ç¯è¦å°½å¯è½çç, æé¿å¾ªç¯çå
容æ½åå°æ¹æ³ä¸å»
// 4. åµå¥å±æ°ä¸åºè¶
è¿3å±, è¦è®©å¾ªç¯æ¸
æ°å¯è¯»
int array[] = { 1, 2, 3, 4, 5 };
for (int data : array) {
// ...implementation
}
int length = array.length;
for (int ix = 0; ix