Android代码规范

框架要求 :

1 . 编码格式统一采用 UTF-8 , 开发工具统一使用 androidstudio . java统一使用 

2 . 目前已采用框架 MVP MVC , 已有的目前不再变化 , 后续统一采用MVP . (除开基本的简单逻辑跳转外)逻辑块尽量都放入impl中 . Activity和Fragment尽量保证只有控件的变动.

3 . 大体框架保持2套左右就行,更换新的框架和技术,例如 rxjava , 布局文件注解获取id 等 , 需其他人同意之后才能在项目中使用 , 自己学习可自行使用Demo练手 .

4 . 会统一使用一个项目基础框架 ( 包括 , 首页[3Item情况] , 工具类 , 无限轮播 , recylerAdapter )  

5 . 统一采用基础包名规范

5.1 adapter -- > 所有adapter放入在内

5.2 base -- > 所有基类 ( 内层再根据所属范围进行分包归纳 )

5.3 bean -- > 所有的实例类 

5.4 mvp -- > 所有mvp相关的接口和实现类

      mvp-presenters -- > 功能类接口 

      mvp-views -- > 布局类接口 ( 包含网络接口 , 因为大部分网络请求需要直接变动UI)

5.5 ui -- > 所有布局类 分为 activity , adapter , fragment 分别放入对应的布局类即可

5.7 constance 常量包名 所有静态常量都放在该包名下

5.7 net 网络请求框架等网络请求的额外需要内容放在该包内

5.8 view -- > 自定义view使用

6 . 用户类一定要复写toString , 将所有参数都归纳在内 .

命名规则:


所有命名不可出现以数字为识别的命名,例如 tv1,tv2,tv3 . Activity1 , Activity2 , Activity3 .

所有常量 和 静态变量 全局变量 一定要进行注释 , 否则交接的人会很多问题 .

类名规则

1 : Activity 命名一律使用 模块名+Activity 的方式。例如,LoginActivity、SignupActivity;


2 : Fragment 命名一律使用 模块名+Fragment 的方式;


3 : 自定义View:Custom( 自定义的意思 )+功能名+View/ViewGroup(具体的组件名称)。例如:CustomImageScroller、CustomLinearLayout、CustomPhotoViewGroup。

4 : adapter命名 : 模块名+功能名+Adapter

例如商品详情页,已购买商品和代付款商品两个List

GoodsBuyAdapter , GoodsPayAdapter .

变量命名规则

4 : Dialog对话框:功能名+Dialog。例如:LoginDialog、WeChatDialog

5 : 每个类的TAG是当前类的类名 , 方便查看日志

对单独需要调试的业务线 ( 可能存在跨类的情况 ) 可以另设一个全局常量TAG进行日志查看 ( 常量需备注 )

6 : 动态广播意图命名  BroadCast + 功能名 . 例如 : 打开广告弹窗意图  BroadCastOpenAd

7 : 全局变量采用m开头+功能名。例如,mTable、mPerson

8 : 所有全局变量 类型一致的 放在一起 , 例如 : 某个类有很多 String的实例 , 则 写成 String mStrlogin , mStrStar , mStrPhone .

9 : 所有布局文件内的控件都跟布局文件的ID一致 , 方便查找 .

资源文件命名 :

10 : 所有控件采用 控件归类+模块名+功能名 . 

例如 , LoginAcitivy 的布局文件 ac_myshop_new 中的控件命名 

tv_myshop_goods , et_mushop_num , img_myshop_banner . 


11 : 布局文件命名 :  ac/fg/adapter + 模块名 + 功能名 ( 如果有多个功能则加上功能名 )

例如 :  ac_main ,  fg_myshop , adapter_myshop_old , adapter_myshop_new

对于头布局和底布局这种特殊情况  footer/header + 模块名 + 功能名

例如 : 首页产品列表( MainActivity ) 需要一个头布局 , header_main_ac_goodslist


12 : 色值命名 : ( 所有的色值都必须写在资源文件中 , 不能在布局文件中写死 )

主题色 : theme_color

所有页面背景色 : background_color

所有分割线颜色 : dividerline_color

剩余其他色值 统一按照 color+色值 命名 .  例如 : #555555 命名为 color_555555

13 : drawable 命名  :

普通图片 : img + 模块名 + 功能名 . 例如 登录页的手机图片 img_ac_login_photo 

selector : selector  + 模块名 + 功能名 . 例如 selsctor_ac_login_button

Shape : shape +solid + storke + conner

例如 #d5d2d2 色值 边角5度的全填充shape可以命名为  shape_ d5d2d2_ d5d2d2_5

例如 #d5d2d2 色值 边角5度的透明充shape可以命名为  shape_ null_ d5d2d2_5


14 : 图片资源命名

img + 模块名 + 功能名 . 例如 登录页的手机图片 img_login_photo

你可能感兴趣的:(Android代码规范)