總結心得 =》》》 道理全聽,舉步維艱,道理不聽 死路一條!!!
好了我們準備開始, GO?。?/h3>
first one ==mXXX 之罪==
class MyClass {
private int mOld; //加這個的過錯在哪里!
}
1. 首先顏值問題
class MyClass {
private Md5 mMd5; // 這是什么鬼東西,混淆視聽
private Mon mMon;
}
2.其次ide 智能生成, 瞬間蒙蔽
class MyClass {
private String mName;
public String getMName() { //臥槽,無情
return mName;
}
}
3.捅窟窿,越來越大
class MyClass {
private String mName;
public void foo() { //當一大推m n 打頭的詞匯出現的時候,瞬間蒙蔽
int member;
int nmm;
int mn;
int master
}
}
class MyClass {
private int mOld; //加這個的過錯在哪里!
}
class MyClass {
private Md5 mMd5; // 這是什么鬼東西,混淆視聽
private Mon mMon;
}
class MyClass {
private String mName;
public String getMName() { //臥槽,無情
return mName;
}
}
class MyClass {
private String mName;
public void foo() { //當一大推m n 打頭的詞匯出現的時候,瞬間蒙蔽
int member;
int nmm;
int mn;
int master
}
}
==最后我們該怎么做==
- 保持簡潔
- 標示意圖 (成員變量)
- 防止沖突
- ide支持提示
class MyClass {
int old; //保持詞義,善用this. 這么長的前綴,難道還看不出是成員變量,
public MyClass (int old) {
this.old = old;
}
public getOld() {
return old;
//return this.old;
}
}
second ==view 創建 及其初始化==
class MyDialog extends Dialog {
private Button btnA;
public MyDialog(Context context) {
super(Context);
//有多次使用的,請放到初始化中獲取, 不要放到initView
this.btnA = findViewById (xxxxx);
initView();
}
public void initView() {
//TODO:頁面外觀調整
}
public void initEvent() {
//TODO:事件綁定
}
}
last ==Builder模式優化結構==
class MyClass {
private int old;
//既然已經要用builder,就請屏蔽構造函數, 具體看情況
private Myclass() {
}
//附加提供一個友好的方法
public static MyClass newbuilder() {
return new Builder();
}
public static Builder() {
private int old;
public Builder setOld(int old) {
this.old = old;
}
public MyClass build () {
MyClass myClass = new MyClass();
//這樣就爽了, 不用在MyClass 構造函數里面加一大堆參數, 簡潔,也不用加set方法
myClass.old = this.old;
return myClass;
}
}
}