Lint для обеспечения вызова метода B после метода A - PullRequest
0 голосов
/ 23 сентября 2018

Справочная информация:
Я работаю над обширной операцией с ресурсом, и повторная инициализация объекта является слишком дорогостоящей операцией.Итак, текущая реализация включает в себя следующие шаги

Initialisation -> Usage -> Cleanup

Скажем, мой код похож на

public class A {

    public A(){
        //perform resource extensive operations
    }

    public A performTask(){
        //task performed
        return this;
    }

    public void saveChanges(){
        //perform commits and save changes
        //cleanup resource
        //perform other minor tasks
    }
}

Требование:
Теперь каксообщить человеку, использующему этот класс, для вызова saveChanges() метода после вызова performTask().Обратите внимание, что performTask() является фиктивной ссылкой в ​​этом примере, и в реальном коде ее можно вызывать несколько раз.

Лучший пример для моего варианта использования Редактор общих настроек Android.Если я не позвоню commit() или apply() после вызова edit(), я получу предупреждение, как показано ниже:

SharedPreferences.edit () вызывается без соответствующего commit () или apply ()

Так, как я могу создать предупреждение, подобное приведенному выше, чтобы убедиться, что saveChanges() вызывается после performTask()?

...