Android開發規範

Android開發規範

爲了規範開發,減小重構成本,總結編碼規範如下,分享給大家,提供個參考

命名規範

  • 關於MVP

    對於MVP模式,由於需要實現衆多的接口,導致代碼臃腫,故決定採取Contract模式,即將接口統一放置在同一類中。

    e.g.

    特別注意:爲了減少開發成本,請特別注意Contract內部類的命名,如確定此方案,則務必不要命名爲NewsModel等形式

    public interface NewsContract{
    interface Model{
    
    }
    interface Presenter{
    
    }
    interface View{
    
    }
    }

    對應實現類:

    特別注意:爲了減少開發成本,請特別注意Presenter內部接口的命名,如確定此方案,則務必不要命名爲NewsPresenterImpl等形式

    NewsPresenter

    public class NewsPresenter implments NewsContract.Presenter{
    
    }

    NewsModel

    public class NewsModel implments NewsContract.Model{
    
    }

    特別注意:明確區分ModelEntity 所有實體類放入Entity包,業務邏輯處理放入Model

  • 關於成員與變量

    1. 爲了區分成員與local變量,採取與Android源碼一致規範,即成員前加m。
    2. 靜態常量命名需大寫,且爲final。

    e.g.

    public class Goods{
    public static final String GOODS = "goods"private String mGoodsName;
    private int mId;
    public class Goods(String goodsName,int id){
      mGoodsName = goodsName;
      mId = id;
    }
    }

需要用作類似key判斷的應寫在靜態常量裏,切勿出現以下情況:

//這是錯誤的範例,不要學!!!
intent.getStringExtra("key");

if(message.what == 0x123){
}

webView.loadUrl("http://baidu.com");

規範寫法如下:

static final String KEY = "key";
intent.getStringExtra(KEY);

static final int FLAG = 0x123;
if(message.what == FLAG){
}

static final String HOST = "http://baidu.com";
webView.loadUrl(Constant.HOST);
  • 關於Activity

    對於需要參數的Activity啓動,統一提供靜態方法,可以明確地通知調用者需要的參數,避免漏參情況。

    特別注意:爲了減少開發成本,請注意方法命名,如確定此方案,則務必不要命名爲startWebViewActivity()等形式

    e.g.

    public static void startActivity(Context context, String title, String url) {
      Intent intent = new Intent(context, WebViewActivity.class);
      intent.putExtra(WebViewActivity.EXTRA_URL, url);
      intent.putExtra(WebViewActivity.EXTRA_TITLE_TEXT, title);
      context.startActivity(intent);
    }
  • 關於fragment

    統一提供newInstance()方法返回實例.

    特別注意:爲了減少開發成本,請注意方法命名,如確定此方案,則務必不要命名爲newPlaceFragment()等形式

    e.g.

    public static PlaceholderFragment newInstance(int sectionNumber){
      PlaceholderFragment fragment = new PlaceholderFragment();
      Bundle args = new Bundle();
      args.putInt(ARG_SECTION_NUMBER, sectionNumber);
      fragment.setArguments(args);
      return fragment;
    }

  • 關於佈局文件

    1. 對於xml文件命名,前綴有layout、view、item、activity、fragment

    2. 對於id命名,有如下映射表,以此類推:

    控件名稱 id命名
    TextView tv_sample
    RecyclerView rv_sample
    LinearLayout ll_sample
    RelativeLayout rl_sample

發佈了113 篇原創文章 · 獲贊 589 · 訪問量 53萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章