Должен ли я избегать использования выражений Java Label? - PullRequest
67 голосов
/ 05 сентября 2008

Сегодня у меня был коллега, предложивший мне реорганизовать мой код для использования оператора label для управления потоком через 2 вложенных цикла for, которые я создал. Я никогда не использовал их раньше, потому что лично я думаю, что они снижают читаемость программы. Я готов изменить свое мнение об их использовании, если аргумент достаточно тверд, как бы то ни было. Что думают люди о заявлениях на этикетках?

Ответы [ 11 ]

0 голосов
/ 11 ноября 2016

Я обнаружил, что метки иногда полезны в тестах, чтобы отделить обычную настройку, упражнения и проверки фаз и групповых утверждений. Например, используя терминологию BDD:

@Test
public void should_Clear_Cached_Element() throws Exception {
    given: {
        elementStream = defaultStream();
        elementStream.readElement();
        Assume.assumeNotNull(elementStream.lastRead());
    }
    when:
        elementStream.clearLast();
    then:
        assertThat(elementStream.lastRead()).isEmpty();
}

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

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