高效CodeReview的建议

2017-06-05  本文已影响39人  紫阚

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

哪些地方容易出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;
    }
上一篇下一篇

猜你喜欢

热点阅读