If. Then. Throw. Else. WTF?

The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:

Это код, который я никогда не понимал:

Я пытался найти подходящую метафору для объяснения его некорректности. Сегодня я наконец нашел ее.

If-then-else - это механизм ветвления процедурного программирования. Центральный процессор (CPU) либо идет налево и затем делает что-то, либо идет направо и делает что-то еще. Представьте себе, что вы водите машину и видите такой знак:

Кажется логичным, не так ли? Вы можете ехать по левой полосе, если не водите грузовик. В противном случае вам следует поехать по правой полосе. Обе полосы вскоре соединятся. Независимо от того, какую вы выберете, вы все равно окажетесь на одной и той же дороге. Вот что делает этот блок кода:

Теперь постарайтесь представить себе такой знак:

Он выглядит очень странно для меня, и вы никогда не увидите такой знак где-либо, просто потому что тупик означает конец, точку, завершение. Какой смысл рисовать полосу после знака тупика? Смысла нет.

Вот как должен выглядеть правильный знак:

Вот как должен выглядеть правильный блок кода:

То же самое верно и для циклов. Это неправильно:

В то время как это правильно:

После тупика нет дороги! Если нарисовать это, ваш код будет выглядеть как этот очень забавный отрывок, который я нашел несколько лет назад, просматривая исходные коды, написанные очень хорошо оплачиваемым разработчиком в очень серьезной компании.

Don’t do this.

Translated by ChatGPT gpt-3.5-turbo/42 on 2023-11-18 at 05:37

sixnines availability badge   GitHub stars