Из программисткой жизни
Я всегда скептически относился к рассказам об “индусском коде”, подозревая некоторое преувеличение тупости написанного в Индии кода. Но несколько дней назад убедился в этом непосредственно. Посоветовал коллеге из Индии использовать в одном месте его программы на Go бесконечный цикл с проверкой условий выхода внутри. На следующий день демонстрирует мне следующий код:
n := 1
for n > 0 {…}
да ещё и с выходом из цикла по goto.
На самом деле надо так:
for {…}
и выходить по break.
Пытаюсь подсказать ему правильный вариант, так он мне начинает доказывать, что всё написано правильно, поскольку цикл будет выполняться бесконечно, как и просили. И это старший разработчик с более чем десятилетним стажем работы программистом!
Я теперь не понимаю, как Windows вообще запускается :) Это напоминает историю про работника авиационного завода, который никогда не летает самолётами, посколько видит, как их собирают.
Мне могут возразить, что этот код тоже будет работать. IMHO лучше вообще не писать программы, чем выдавать такое.