|
|
| Результаты опроса: Нравится ли Гото, используете ли вы его | |||
| Да |
|
21 | 37.50% |
| Нет |
|
35 | 62.50% |
| Голосовавшие: 56. Вы ещё не голосовали в этом опросе | |||
|
|
Рейтинг 5.00/43:
|
|
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
|
|
Хороший или плохой тон программирования28.03.2010, 13:42. Показов 10045. Ответов 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 | |
|
Хороший тон программирования
Хороший стиль программирования Хороший стиль программирования: где размещать константы? Как называется движение программирования или теория программы считывающая др. язык программирования Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|