В коде приведенного класса CrontabSchedule есть goto, первый раз такое вижу в прод коде. Говорят есть исключения когда его эффективнее применять. Есть какие-нибудь комментарии для данного конкретного случая?
Лучше IsNullOrWhiteSpace. Делает то же самое что IsNullOrEmpty, и ещё проверят что там не пробелы, помогает избежать неприятных сюрпризов во многих ситуациях
Если я правильно понял смысл цитаты из статьи, приведенной выше, то она идет вразрез с рекомендацией Роберта Мартина в его книге «Чистая архитектура». В главе 15 «Что такое архитектура» говорится: «Главная стратегия [...] в том, чтобы как можно дольше иметь как можно больше вариантов» и «Хороший архитектор максимизирует количество неприятных решений». То есть систему нужно проектировать так, чтобы решения о деталях можно было отложить и отодвинуть на как можно более поздний срок.
В коде приведенного класса CrontabSchedule есть goto, первый раз такое вижу в прод коде. Говорят есть исключения когда его эффективнее применять. Есть какие-нибудь комментарии для данного конкретного случая?
Лучше IsNullOrWhiteSpace. Делает то же самое что IsNullOrEmpty, и ещё проверят что там не пробелы, помогает избежать неприятных сюрпризов во многих ситуациях