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命名
    TextViewtv_sample
    RecyclerViewrv_sample
    LinearLayoutll_sample
    RelativeLayoutrl_sample

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值