недостаточная читаемость и удобство сопровождения для тех, кто родился после 1970 года
Чем лучше люди, рожденные до 1970 года, поддерживают нечитаемый код?Если так, это хорошо, потому что я был и это может быть только точка продажи.
, прежде чем мы решим, возвращать ли этого человека обратно во 2 раунд, я хотел бы знать, если этоимеет любые функции погашения, кроме обеспечения безопасности работы для автора.
Код имеет нет одну функцию погашения s .Он причудливо использует технику свопирования xor, единственная потенциальная возможность выкупа которой - экономия пространства стека одного целого числа.Однако даже это сводится на нет пятью указателями, которые определены, и неиспользуемым int.В нем также есть безвозмездное использование оператора запятой.
Обычно я бы также сказал «goto, yuck», но в этом случае он использовался довольно элегантно, как только вы понимаетеалгоритм используется.Фактически можно утверждать, что он делает алгоритм сортировки гномов более понятным, чем использование индексной переменной (за исключением того, что он не может быть обобщен на n элементов).Таким образом, у вас есть функция выкупа, которая заставляет goto выглядеть хорошо:)
Что касается "вы вернете кандидата на второе собеседование".Если бы фрагмент кода сопровождался подробным комментарием, объясняющим, как работает алгоритм и мотивация автора для его использования, я бы определенно сказал, что да.Если нет, то я, вероятно, позвоню ему и задам эти вопросы.
Примечание: фрагмент кода использует объявления параметров в стиле K & R.Это означает, что автор, вероятно, не программировал на C в течение 10-15 лет или скопировал его из Интернета.