由于在实际开发的过程中,各种命名和使用不规范,没有按照要求来,给看代码的人带来了困扰,也给自己的开发带来不便,在寻找的时候浪费了时间。所以本周主要学习看了,安卓和Java的命名规范和使用规约,以及部分kotlin的总结。
一、android资源文件命名与使用
1.资源文件
资源文件需要带模块前缀
2.layout文件
activity、main_activity
fragment、modue_fragment
Dialog、demo_dialog
include、demo_include
ListView demo_list_item
RecyclerView demo_recycle_item
GridView demo_grid_item
3.drawable资源
drawable资源名称以小写单词+下划线的方式命名
模块名_业务功能描述_控件描述_控件状态
main_login_btn_pressed
4.anim资源
anim资源名称以小写单词+下划线的方式命名
Tween动画 demo_push_down_in
Frame动画 demo_loading_grey_001
5.color资源
写入module_clolor.xml中,
<color name="module_btn_bg_color">#00b4aa</color>
6.dimen资源
dimen以小写单词+下划线方式,写入module_dimens.xml中,
<dimen name="activity_vertical_margin">16dp</dimen>
7.style资源
<style name="Theme_Corner_Dialog" parent="android:style/Theme.Dialog">
8.string资源
string资源文件写入module_strings.xml中,
module_login_tips
9.id资源、View
Id资源原则上以驼峰法命名,View组件id以View的缩写。
二、Java编程规约
1.命名风格
代码中的命名不能以下划线或美元符号开始和结束
类名使用UpperCamelCase风格 例如:ForceCode
方法名、参数名、成员变量、局部变量都统一使用LowerCamelCase 例如:localValue
常量命名全部使用大写,单词间用下划线隔开
类型与中括号紧挨相连表示数组
POJO类中的任何布尔类型的变量,都不要is前缀,否则部分框架解析会引起序列化错误
包名统一使用小写
避免在子父类的成员变量、或者不同代码块的局部变量之间采用完全相同的命名
杜绝完全不规范的缩写
2.常量定义
不允许任何没有定义的变量直接出现在代码中
不要使用一个常量类维护所有常量,要按常量功能进行分类
3.代码格式
在进行类型转换的时候,不要空格
单行字符限制不超过120个,超出需要换行
4.OOP规约
5.日期时间
获取当前毫秒值,System.currentTimeMillis()
不允许在程序中任何地方中使用 Java.sql.Data java.sql.time
不要在程序中,写死一年365天。
避免公历闰年2月份问题
6.集合处理
主要覆写equals,就必须覆写hashCode
判断集合内部是否为空,使用isEmpty()
ArrayList的subList结果不可强转为ArrayList
不要在foreach循环中进行元素的remove/add操作,使用lterator
7.并发处理
获取单例对象需要保证线程安全,其中的方法也要保证线程安全
8.控制语句
switch括号内的变量类型为string,必须先进行null判断
9.注释规约
所有的抽象方法都要javadoc注释
所有的枚举类必须要有注释
三、Kotlin接口的使用
在具体使用的时候,经常会混淆接口和抽象方法,所以特地记录一下接口和抽象的区别。
接口的使用,一个类可以实现一个或者多个接口。
接口的属性,只能是抽象的,不可以初始化值,实现接口时,必须重写属性。
重新函数,可能会遇到同一方法继承多个实现的问题。
注意实现接口是, class D:A{} A后面没有括号