Повторное использование части кода

Какие есть способы, методы для ссылки на повторное использование части кода, написанного ранее, во избежание повторений и увеличения размерности кода. По собственным поискам подобной информации узнал, что "goto", которым ранее пользовался в других языка, в "java", как такового, - нет. Может, есть другие варианты?


Ответы (2 шт):

Автор решения: had0uken

В java есть аналог GOTO - это использование конструкции:

break метка;

Но данная конструкция нарушает структуру кода и не рекомендуется к использованию. В нормальном коде она не встречается. Для повторного использования кода в нормальном java коде придется пользоваться вещами посложнее: инкапсуляции, композиции, программирование на уровне интерфейсов, а не реализаций, слабая связность и куча всего остального. Как вы поняли, это тема очень обширная для одного ответа. Крайне рекомендую книгу "Head First Паттерны проектирования". Там очень хорошо описаны основные приемы, которые помогут вам с повторным использованием кода и многим другим Но на начальных этапах, банально можно выносить код, который можно использовать несколько раз в отдельные методы. Это уже позволит сократить длину кода.

→ Ссылка
Автор решения: Waden

Аналогом goto в Java с натяжкой можно назвать метки. Когда в программе несколько вложенных циклов, то операторы break и continue по умолчанию действуют на самый глубоко вложенный цикл. С использованием меток можно указать операторам конкретный цикл, на который они будут действовать, например, самый внешний:

outer:
    for (int i = 0; i < 10000; i++) {
        for (int j = 0; j < 10000; j++) {
            if (j == 500 || i == 500)
                break outer;
        }
    }

При использовании операторов break/continue они будут действовать, как уже было сказано, на самый ближайший к ним цикл.

for (int i = 0; i < 10000; i++) {
    for (int j = 0; j < 10000; j++) {
        if (j == 500 || i == 500)
            break;
    }
}

Метки в Java существуют только для операторов break и continue.


P.S. Список ключевых слов включает в себя goto. Однако данный оператор помечен как - not used (не используется).

→ Ссылка