Android 开发史记一

code小生,一个专注 Android 领域的技术平台

公众号回复 Android 加入我的安卓技术群

作者:crossroads链接:https://www.jianshu.com/p/230f530b108d声明:本文已获crossroads授权发表,转发等请联系原作者授权

前言

转眼从事Android开发已经将近四年,突然发现曾经残留的采坑日记和注意点,在这里分享一下,帮助大家避免。之后想到相关的内容,再添加更新。大概包含一些容易错误的点,代码优化等.

一、代码

1. menu的用法

注意onCreateOptionsMenu和onPrepareOptionsMenu的区别,不要滥用。菜单需要更新的话 在onPrepareOptionsMenu中,inflate menu在onCreateOptionsMenu中。

2. 善用tint

使用 android:tint 或者setColorFilter就可以改变颜色了,完全不需要几个不同颜色的drawable。

3. Rxjava一定要用起来

RxJava真的很好用,一定要用起来,提高很多效率,傻瓜式编程越来越近。

4. java中更改背景色
(XX.background as GradientDrawable).let {
          it.setColor(color)    
         it.setStroke(2, color)
}

二、那些坑

1. 旧版本兼容

曾经一些后端接口返回数据更改,数据库没有刷新,移动端也未作兼容,结果可想而知。所以一定要考虑旧版本的兼容问题。

2. 自测不偷懒

那时候公司没有测试,替换API后没进行分页测试,而当时旧API有分页,新api没有分页,结果数据重复。足够的测试后,再提测,这种低级错误一定要避免哦。

3.不要滥用refactor

因为一个项目中,有时候会有一模一样的命名,结果在XML中改了一个名字,所有有这个名字的字段全变了,其实我只需要那一个XML文件改变,这种情况下,应该先将之前的改变commit掉,然后替换,之后使用git status 查看更改的文件,如果不对,就reset掉。这种容易出问题的全局修改,一定要和上一次的改变区分出来,否则出错的话,再恢复之前的代码就很艰难了。

4. url注意中文

自我拼接URL的时候,要注意是否有中文,是否有本方编码。

5. 网络图片

图片下载时,最好设置一张默认图片显示,防止图片为空的错误

6. toolbar被遮挡

使用android:fitsSystemWindows="true"

三、代码规范

  1. 写代码真的不止是写代码,还要去想需求是什么为什么和可能发生的情况,这样子才能让代码更加的灵活,兼容一些突发情况。

  2. git rebase merge使用,每次开发新功能,就建立新的分支,不要在原分支上直接修改。

  3. 商量commit提交内容,可以参考https://github.com/commitizen/cz-cli的样式,也可以自己定义一套规则,例如新功能则NEW XX等。

  4. 不要超过Android Studio的最右边那一条线,太长就换行,但是不要有多个换行,瞧下图,就是这条!

640?wx_fmt=other
竖线
  1. 千万千万不要有太长的函数,不容易理解,100多行的函数,简直是灾难。对于重复的代码,提成函数。

  2. 对于枚举类型,要有注释,1 2 3 这些自己写的使用static string XX=1 ,调用XX更好。

  3. 记开发笔记,例如我这里的来自以前的笔记,而且如果开发内容记录的话,对于之后的回顾也有好处。建议也记录下工作中好的地方和不好的地方。

四、开发期间

对于任务太多或者完成有点危险的话,找产品确认优先级,并且和管理人、发版人同步

后记

想到啥写啥,就先这样吧,虽然是小的地方着手,但也要注意哦。

推荐阅读软件开发知识体系6 天时间修改 1 行代码:现实中的软件开发流程

640?wx_fmt=jpeg

扫一扫 关注我的公众号

如果你想要跟大家分享你的文章,欢迎投稿~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值