您好,欢迎来到花图问答。
搜索
您的当前位置:首页高效CodeReview的建议

高效CodeReview的建议

来源:花图问答

根据团队开发经验,不断完善中

哪些地方容易出bug

条件覆盖不全

  1. if else 条件只覆盖了if ,else里没有处理
  2. 条件执行,提前return掉,后续的其他处理被忽略
  3. 复制粘贴:复制粘贴是最容易出错的,表现在 if else 条件语句里面,最后个else if 的tvClassBehaviorContent没被赋值
    Paste_Image.png

逻辑混乱

  1. 复杂判断:一个if判断语句里面涵盖了多种判断条件
  2. 多头领导:比如一个Activity的View控制,除了activity本身,又开放给了子fragment
  3. 异步操作,状态同步:子页面A异步操作结果,需要对父的UI做修改,而此时用户切换到了子页面B,子页面A的UI操作,会出现在子页面B上。
  4. 异步操作,线程同步:
    举个rxJavasubscribeOn(Schedulers.newThread())的例子,异步方法没执行完就返回了,此时数据是空的
private List<Person> getPeopleList() {
        final List<Person> peopleList = new ArrayList<>();

        Observable.from(MOCK_LIST()).filter(new Func1<Person, Boolean>() {
            @Override
            public Boolean call(Person m_class) {
                return m_class.getAge() > 50;
            }

        }).toList().subscribeOn(Schedulers.newThread()).subscribe(new Action1<List<Person>>() {
            @Override
            public void call(List<Person> classes) {
                peopleList.addAll(classes);
            }
        });
        return peopleList;
    }

Copyright © 2019- huatuowenda.com 版权所有 湘ICP备2023022495号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务