В каких случаях можно создать однострочный метод? - PullRequest
1 голос
/ 07 сентября 2011

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

С другой стороны, создание таких методов добавляет около четырех строк кода.(когда я включаю пустые строки).

Вопрос

Является ли создание однострочных методов наилучшей практикой в ​​любых ситуациях?В том случае, если вы думаете, что это так: в каких ситуациях это наилучшая практика?

Ответы [ 4 ]

1 голос
/ 07 сентября 2011

Помимо читабельности и ремонтопригодности, которая должна быть задана, важным соображением для методов является то, должен ли производный класс переопределять этот конкретный метод. Я склонен делать это экономно, только когда я знаю, что будет необходимо переопределить поведение в подклассе, потому что я думаю, что слишком подробное разбиение метода ухудшает читабельность и добавляет беспорядок; но, конечно же, чем более детально контролируется подкласс над тем, что он может переопределить, тем более универсален код.

1 голос
/ 07 сентября 2011

ваш судья должен быть читабельным. строки кода могут сильно различаться по удобочитаемости, размеру, сложности и так далее. например, если у вас сложная строка, которая не слишком читаема и не требует пояснений, вы можете просто прокомментировать ее. но если одна и та же строка (или отличается только некоторыми аргументами) используется в нескольких местах кода, вместо того, чтобы повторять этот комментарий, вы включаете его в метод с хорошим именем и, вероятно, с этим комментарием.

да, я знаю, что идеальный код не нуждается в комментариях, но идеальный код - это просто миф

0 голосов
/ 07 сентября 2011

Чем проще код, тем лучше!Код должен быть максимально информативным, и, добавляя хорошо именованные функции и переменные, вы «скорее всего» сделаете код более читабельным!

0 голосов
/ 07 сентября 2011

Использование методов суммирует алгоритм как действия. Например, вместо counter++ вы можете использовать метод: private void incrementCounter() { counter++; }. Таким образом, вы в основном говорите вам: хорошо, я сначала увеличиваю счетчик, затем ... и т. Д. Он просто более читабелен человеком. Но используйте то, что вам нравится в текущей ситуации.

...