- 若A->B->C,C或者B页面进行改动值会影响A页面,返回时可以通过跳转添加requestCode进行传递,返回页面通过onActivityResult来获取最新信息,保证数据传递及更新
- B或C跳转到A页面需要返回值,B和C跳转尽量设置各自的requestCode,尽量不要图简便,把requestCode放在A页面了
- 某一方法块中,出现调用两次及以上的全局变量,可以引入局部变量替换,减少运算成本
- 子类父类公共特征变量可以采用继承方法设置
- 将数据存储在Perference中,可以以json方式存储,读取的时候也可以用解析json方式读取
- 移除Perference存储,删除key,判断是否存在此存储也可依据key值是否存在
- 账号级变量和数据存储和提取方法尽量放在账号管理
- 遵从剃刀原则,尽量用最简便的方式实现功能,如果开发中出现比较绕的逻辑,有必要思考是否需要进行简化,如果无法简化则分析一下是中间哪个环节阻碍了正常逻辑运行,该阻碍是否可以进行改进或者优化
- 复写equals时要同时复写hashcode,避免内存泄漏
- 避免调用java类的旧代码方法,使用新的kotlin工具,在创建新工具之前,尽量先确认是否已经有了类似的工具。使用现有公共类工具,尽量不要自己造轮子,增加多余重复代码。
- 遵守代码规范,activity中的全局变量、方法默认写成private;全局变量名以小m开头。
- 建立的activity名字和layout值的名字要一一对应,一般以AaBbCcActivity-> R.layout.activity_aa_bb_cc
- 业务类资源,代码文件放在业务目录下面
- 业务逻辑代码要分离,便于扩展及调用
关于UI页面开发
- 因为android手机屏幕大小及分辨率的不同,列表中的子item宽高不宜写死,尤其是宽度,可以通过创建背景View来通过蓝湖上标注的来进行宽高比app:layout_constraintDimensionRatio=“2:1“设置,两个或多个控件居中或分布显示可以通过app:layout_constraintHorizontal_chainStyle,textView需要底部对齐的话,可以使用app:layout_constraintBaseline_toBaselineOf
- 能在布局中实现的UI效果尽量在xml中实现,减少代码后期维护成本
- 新需求和旧功能改版,UI提供的图片里面提供的标注,图片,交互不全时,不要主观臆断认为,要积极沟通了解,不要做出来了但是和UI想要的效果不一致而重做;旧功能改版因为布局改版,相应的UI交互应该重新考虑
- 严格按照蓝湖上标注和图片文字大小颜色进行设置,如果有遇到相应的实现困难或者疑问,要积极沟通和询问
网友评论