Должен ли я использовать статические методы, методы экземпляров или класс общих методов? - PullRequest
0 голосов
/ 03 октября 2019

Как мне решить, какие методы использовать? Статический, экземплярный или общий экземпляр?

Пока я храню методы экземпляров в классе отдельно.

private boolean storeValuesAndValidateFields() {
    clearStrings(mName, mEmail, mPhone, mRegistrationKey, mPassword);

    mName = nameEditText.getText().toString().trim();
    mEmail = emailEditText.getText().toString().trim();
    mPhone = phoneEditText.getText().toString().trim();
    mRegistrationKey = registrationKeyEditText.getText().toString().trim();
    mPassword = passwordEditText.getText().toString().trim();

    return (!nameEditText.getText().toString().trim().isEmpty() || !emailEditText.getText().toString().trim().isEmpty()
    || !phoneEditText.getText().toString().trim().isEmpty() || !registrationKeyEditText.getText().toString().trim().isEmpty()
    || !passwordEditText.getText().toString().trim().isEmpty());

}

Как я могу выбрать наиболее эффективный и самый эффективный способ? в случае вышеуказанного кода?

1 Ответ

0 голосов
/ 03 октября 2019

Ну, у вас там много повторяющегося кода, так как вы уже вызываете getText().toString().trim() для всех объектов и присваиваете его полю, вы можете просто использовать это поле для логического выражения, которое вы возвращаете, как здесь:

private boolean storeValuesAndValidateFields() {
    clearStrings(mName, mEmail, mPhone, mRegistrationKey, mPassword);

    mName = nameEditText.getText().toString().trim();
    mEmail = emailEditText.getText().toString().trim();
    mPhone = phoneEditText.getText().toString().trim();
    mRegistrationKey = registrationKeyEditText.getText().toString().trim();
    mPassword = passwordEditText.getText().toString().trim();

    return (!mName.isEmpty() || !mEmail.isEmpty() || !mPhone.isEmpty() || !mRegistrationKey.isEmpty()
    || !mPassword.isEmpty());
}

Это сделает код более читабельным и удалит повторяющиеся вызовы методов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...