|
|
| Результаты опроса: Нравится ли Гото, используете ли вы его | |||
| Да |
|
21 | 37.50% |
| Нет |
|
35 | 62.50% |
| Голосовавшие: 56. Вы ещё не голосовали в этом опросе | |||
|
|
Рейтинг 5.00/43:
|
|
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
|
|
Хороший или плохой тон программирования28.03.2010, 13:42. Показов 10285. Ответов 49
Метки нет (Все метки)
вот в книгах читаю что гото туфта полная..на форуме тоже так говорят,а почему?очень нужная вещь,иногда лучше использовать это чем циклы
0
|
|
| 28.03.2010, 13:42 | |
|
Ответы с готовыми решениями:
49
"Ляпы" в программе. Хороший стиль программирования TCHAR + float != дружба или плохой wsprintf
|
|
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
|
|
| 01.04.2010, 23:22 [ТС] | |
|
0
|
|
|
8384 / 3618 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
||||||
| 02.04.2010, 00:30 | ||||||
|
Atrus, будет интересно посмотреть как вы напишите более менее серьезный проект. Просто прежде чем повторять чью-то фразу - надо понимать, что это всего лишь рекомендация и не более. Приведу простой пример, один
метод
0
|
||||||
|
12 / 12 / 2
Регистрация: 08.07.2009
Сообщений: 45
|
|
| 02.04.2010, 02:29 | |
|
M128K145
Если вы вдруг захотите добавить функциональность, в ваш калькулятор(у вас ведь серьезный проект, поэтому заказчик обязательно попросит) вам будет очень неприятно работать с предложенным выше методом. Допустим, кнопки должны будут менять свои координаты, атрибуты и даже функционирование при переключении с режима "обычный калькулятор" на режим "инженерный калькулятор". Должно будет изменяться их количество. В вашем же методе сплошной хардкодинг, который убивает всю гибкость. Поэтому, вы правы, этот метод не нуждается в декомпозиции. Он нуждается в полной переработке. *** Как насчет массива элементов jButton? А параметры каждой кнопки можно из конф. файла считывать. А метод станет размером в 12 строк(Что конечно как вы правильно заметили не главное, но все-равно очень приятно).
0
|
|
|
537 / 459 / 3
Регистрация: 08.07.2009
Сообщений: 2,625
|
|
| 02.04.2010, 13:47 | |
|
goto запутывает код: делает переходы неочевидными и неудобочитаемыми. Если метка на другой странице, то как это прочитать ? Если требуется goto, значит проект составлен очень плохо или его нет вовсе. Надо делать упор не на оправданности goto, а на хорошем проекте.
0
|
|
|
|
||
| 02.04.2010, 14:46 | ||
|
И не надо говорить, что goto запутывают код. Есть гении, которые способны запутать код на ровном месте одними лишь арифметическими операциями. А потому читабельность кода зависит от наличия мозга, а не от наличия goto
1
|
||
|
537 / 459 / 3
Регистрация: 08.07.2009
Сообщений: 2,625
|
|
| 02.04.2010, 14:57 | |
|
В общем случае, goto добавляет мест, которые нужно держать в памяти, а она не безгранична.
Как один из пунктов УМЕНЬШЕНИЯ удобочитаемости можно сформулировать так: "применяйте везде goto". Это ещё не значит, что нельзя запутать прогу не применяя goto.
0
|
|
|
|
||
| 02.04.2010, 15:01 | ||
|
0
|
||
|
537 / 459 / 3
Регистрация: 08.07.2009
Сообщений: 2,625
|
|
| 02.04.2010, 15:06 | |
|
Нужно не программу принципильно менять, а переделывать проект. Значит что-то в нём плохо, раз понадобился goto. Я ни в коем случае не говорю, что надо принципиально от него отказаться. Дело не в принципе.
0
|
|
| 02.04.2010, 20:28 [ТС] | |
|
Не по теме: Evg, :Dя его знаю:D
0
|
|
|
8384 / 3618 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
|
| 02.04.2010, 21:30 | |
|
Atrus, это был всего лишь немного подредактированный копипаст сгенерированого кода NetBeans и отправленный в Eclipse
, Вопрос, почему все визуальные конструкторы не набивают массивы/вектора, а задают жестко(MS VS C#/MFC/CLR/J#, NetBeans Java)? Но это уже оффтопПо теме. Сравните два кода Бинарные числа! Перевод простого числа в бираное и расчет. Что будет выведено на экран? И сделайте для себя вывод, goto - это хорошо или плохо. Или по вашему в первом коде лучше использовать циклы?
0
|
|
|
12 / 12 / 2
Регистрация: 08.07.2009
Сообщений: 45
|
||||||||||||
| 03.04.2010, 03:07 | ||||||||||||
|
M128K145
Эй, эй, обождите! Я разве хоть где-то говорил, что ненавижу goto? Я только привел пример грамотного выхода из сильновложенных циклов и все. Так что претензия не по адресу. Что же касается вашего примера, то тут я не вижу особых причин goto использовать:
*** M128K145 Не по теме: я понял, что это кодогенератор, но что это меняет? Сапер, например, тоже на элементах типа Button реализован. Для поля 10х10 понадобится 100 кнопок. Вы его тоже без массивов делать будете?
0
|
||||||||||||
|
4340 / 1509 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
|
||||||
| 03.04.2010, 04:14 | ||||||
|
Goto как и любой другой оператор: если применен в правильном месте облегчает и написание, и восприятие кода.
Вот пример из первого попавшегося проекта
0
|
||||||
|
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
|
||
| 03.04.2010, 11:05 [ТС] | ||
|
Добавлено через 14 секунд и на 2 скобок меньше
0
|
||
|
12 / 12 / 2
Регистрация: 08.07.2009
Сообщений: 45
|
||||||
| 03.04.2010, 12:11 | ||||||
|
Вообще мне тоже кажется, что goto лучше чем break +флаг +условие. Хуже последнего вообще ничего придумать нельзя. Но в данном примере,как мне думается, совсем необязательно смотреть на то, как файл героически пытается сохраниться.
Во время отладки(или если кто-то другой решит изучить код) это будет абсолютно бесполезной информацией. Скрыть это все в функцию и засунуть эту функцию в самый низ, чтоб не мешала! Читабелность такой программы в разы вырастает. Короче как-то так:
0
|
||||||
|
|
||
| 03.04.2010, 13:15 | ||
|
0
|
||
|
537 / 459 / 3
Регистрация: 08.07.2009
Сообщений: 2,625
|
||
| 03.04.2010, 13:41 | ||
|
МедведЪ Давай ещё всунем goto. Проект уже плохой, нам уже терять нечего.
0
|
||
|
4340 / 1509 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
|
|||
| 03.04.2010, 15:00 | |||
|
0
|
|||
|
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
|
|
| 03.04.2010, 15:41 [ТС] | |
|
0
|
|
|
|
|
| 03.04.2010, 15:59 | |
|
0
|
|
| 03.04.2010, 15:59 | |
|
Хороший тон программирования
Хороший стиль программирования Хороший стиль программирования: где размещать константы? Как называется движение программирования или теория программы считывающая др. язык программирования Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|