Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Погрузитесь в игру Бильярд 3D: Русский бильярд — почувствуйте атмосферу настоящего бильярдного зала!

Бильярд 3D: Русский бильярд

Симуляторы, Спорт, Настольные

Играть

Топ прошлой недели

  • Oskanov Oskanov 9 постов
  • Animalrescueed Animalrescueed 46 постов
  • AlexKud AlexKud 33 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
anetto1502
anetto1502
6 месяцев назад
Лига программистов

Нельзя использовать goto⁠⁠

Часто говорят, что goto плох. А собственно, почему?

В ассемблерном коде на машинном уровне все управляющие конструкции (if, while, for и другие) преобразуются в набор команд с безусловным переходом jmp (UPD: как правильно заметили, с безусловным или условным переходом, но по указанному адресу, то есть куда угодно). А такой переход — самый настоящий goto. То есть ты весь такой изящный во фраке пишешь циклы, а наглый компилятор/интерпретатор выкидывает всю красоту и делает goto.

Так почему же сам goto является признаком плохого кода, если он на самом деле везде?

Ответ кроется в умении сохранять контекст. Человек может в голове держать 5-9 сущностей, больше не получается. Поэтому придумали функции, и придумали держать их небольшими — для снижения когнитивной сложности. Конструкция if переведёт тебя в одну из веток ниже, циклы for и while выполнят тело цикла или выбросят за его пределы. Команда goto сложность привносит — прыжок может быть куда угодно. А повышение сложности всегда приводит к росту числа ошибок.

Ну а ещё из-за goto может напасть <a href="https://pikabu.ru/story/nelzya_ispolzovat_goto_12583316?u=https%3A%2F%2Fxkcd.ru%2F292%2F&t=%D0%B2%D0%B5%D0%BB%D0%BE%D1%86%D0%B8%D1%80%D0%B0%D0%BF%D1%82%D0%BE%D1%80&h=b4fb4e894ae317dbd4e6f8aa8ca1f5e1ef76eee2" title="https://xkcd.ru/292/" target="_blank" rel="nofollow noopener">велоцираптор</a>

Ну а ещё из-за goto может напасть велоцираптор

Показать полностью 1
[моё] Программирование IT Goto Хороший код
26
6
mefutu
mefutu
2 года назад

И правда⁠⁠

В чем разница между senior, middle и junior?

Junior - верит, что он ещё встретит хороший и чистый код.

Middle - догадывается, что не встретит его никогда

Senior - знает, что хороший и чистый код, как святой грааль, все ищут, а его нет.

[моё] IT юмор Junior Хороший код Программист Программирование Текст
2
532
tproger.official
tproger.official
3 года назад
Типичный программист

Важный совет⁠⁠

Важный совет
Показать полностью 1
IT юмор IT Программирование Pepe Хороший код
21
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии