美文网首页
经验小结-持续更新

经验小结-持续更新

作者: 巫师Android | 来源:发表于2022-01-07 12:00 被阅读0次

1、能用Application Context就尽量使用。(2022.1.7)

相较于 Activity等,可以提高代码的聚合度。

2、要善于抽取工具类。(2022.1.7)

比如,在开发 WIFI 功能时,这行代码经常用到:

val wifiManager = 
        context.applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager?

这样就可以提取出工具类,如下:

class SystemServiceHelper {
    companion object {
        private const val TAG = "SystemServiceHelper"

        /**
         * 获取 WIFI 服务
         */
        fun getWifiService(): WifiManager? {
            val wifiManager =
                AppContext.appContext!!.getSystemService(Context.WIFI_SERVICE) as WifiManager?
            if (wifiManager == null) {
                Log.e(TAG, "WifiManager is null")
            }
            return wifiManager
        }
    }
}

这么做至少有三个好处:
1)使用简单了,代码的复杂度降低了。
2)结合小结的第一条,对 context 的依赖更加容易了。
反之,可能会需要一直取context,或者通过参数传context,很不简洁。
3)当 Wifimanager 为 null 时,有统一的地方来查看。

3、要多重构(2022.1.7)

这个过程不仅可以提高代码质量,还可以加深对代码逻辑(流程)的梳理,或许在进行的时候,就会想到更佳的实现方案。

4、在使用任何技术前,看一下官方的开发指南总是好的。(2022.1.8)

https://developer.android.google.cn/guide

5、在进行IO操作时,不要在负责传输的线程中进行任何解析,这样可以避免解析产生错误时,对IO线程产生影响。正确的做法应该是分发到其他线程处理。(2022.1.14)

要尽可能的保证各个模块(我认为任何一个方法、类、线程、进程、Service、Module、三方库等都可以称其为一个模块)的职责单一化。这样对系统的调试、单元测试、可靠性、稳定性都有好处。

6、当创建一个类(方法、模块)时,第一件事,不妨把这个类(方法、模块)要做的事情先清楚的写出来。(这样做,有利于自己再一次的思考代码的设计是否合理。)当这个类要做的事情超过2-3件(方法、模块1-2件就应该小心)时,就应该小心了,它是否已经职责不单一了?是否已经开始耦合了?(2022.1.24)

7、简洁有效

能用一行代码写完的,绝不用两行。就像写文章与说话一样,少说废话,除非有需要。

8、对于三方库的引用应该加(抽象出)一个中间层

9、对外提供的东西,一定要进行充分验证后才能给出。比如apk、相关文档等。

相关文章

  • 经验小结-持续更新

    1、能用Application Context就尽量使用。(2022.1.7) 相较于 Activity等,可以提...

  • (更新)面试经验小结

    2021年1-3月计划 1.每天录小视频,小课题论文(西部网) 2.信息技术笔试必须一次过,小课题读文献 3.数学...

  • 工作经验(持续更新)

    记录自己工作中的一点小经验,有不足的地方请指正. 1.调第三方的的服务的时候切记不能直接调用,为了扩展性要使用自己...

  • React 使用经验(持续更新)

    React 使用经验 硬性要求 通过数组渲染元素 必须使用数据的唯一标志 判断数据是否有值 一律使用lodash的...

  • 2021-11-26【经验提炼技术(经验萃取)003】罗黎帆老师

    【经验提炼技术(经验萃取)003】 《罗黎帆老师“经验提炼/经验萃取)”所用到的一些理论(持续更新ing 》 •野...

  • react问题小结(持续更新中)

    React组件会在什么时候render? state使用setState正确改变; props改变,并且符合sho...

  • 开发经验总结(持续更新)

    今天差点出大事..来看看我遇到的一些坑(:з」∠) 1.分支的坑 不要直接在master分支上面改代码!!一定要记...

  • pymysql使用小结

    pymysql学习小结,持续更新 引用模块 连接数据库 测试是否连接成功 若ping通则返回0,否则报错。True...

  • CSS类 - 总结

    持续更新...————————————————————————这里将展示本人有关于CSS类的开发经验,并没有有循序...

  • Android Studio使用总结

    重量级Android Studio个人使用经验总结,持续更新。since 20190424updated 2019...

网友评论

      本文标题:经验小结-持续更新

      本文链接:https://www.haomeiwen.com/subject/jqdjcrtx.html