Относительно этого пункта:
Итак, есть ли веская причина для кода
как то, что мне не хватает? Это было
Извлечение кода просто собрал
дерьмовый разработчик? или является отражателем .NET
возвращать неточный код?
Я не согласен с предпосылкой, что это единственные три возможности.
Может быть, это правда, как и многие другие предположили, что это просто не точное отражение реального исходного кода в библиотеке. Несмотря на это, мы все были виновны (ну, в любом случае, у меня ) в написании кода "грязным путем" с целью:
- Быстрое внедрение функции
- Быстрое исправление ошибки
- Выжимает небольшой прирост производительности (иногда с оправданием, иногда не так сильно)
- Какая-то другая причина, которая имела смысл в то время
Это не делает кого-то "дерьмовым разработчиком". Большинство руководств, таких как «ты не должен использовать goto», в основном введены для защиты разработчиков от самих себя; их не следует рассматривать как ключ к различению хороших и плохих разработчиков.
В качестве аналогии рассмотрим простое правило, которому многие из нас учат в начальной школе по английскому языку: никогда не заканчивайте предложение предлогом. Это не настоящее правило ; Это руководство, которое не дает людям говорить что-то вроде: "Где машина?" Важно понимать этот факт; как только вы начнете относиться к нему как к действительному правилу, а не к руководству, вы обнаружите, что «исправляете» людей к совершенно хорошим предложениям типа «Чего вы боитесь?»
Имея это в виду, я бы с осторожностью относился к любому разработчику, который называл другого разработчика "дерьмовым", потому что он использовал goto
.
Я определенно не пытаюсь защитить goto
, по сути - просто утверждаю, что его использование никоим образом не указывает на некомпетентность.