|
|
| Результаты опроса: Нравится ли Гото, используете ли вы его | |||
| Да |
|
21 | 37.50% |
| Нет |
|
35 | 62.50% |
| Голосовавшие: 56. Вы ещё не голосовали в этом опросе | |||
|
|
Рейтинг 5.00/43:
|
|
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
|
|
Хороший или плохой тон программирования28.03.2010, 13:42. Показов 10043. Ответов 49
Метки нет (Все метки)
вот в книгах читаю что гото туфта полная..на форуме тоже так говорят,а почему?очень нужная вещь,иногда лучше использовать это чем циклы
0
|
|
| 28.03.2010, 13:42 | |
|
Ответы с готовыми решениями:
49
"Ляпы" в программе. Хороший стиль программирования TCHAR + float != дружба или плохой wsprintf
|
|
8384 / 3618 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
|||||||||||||
| 03.04.2010, 20:02 | |||||||||||||
1
|
|||||||||||||
|
12 / 12 / 2
Регистрация: 08.07.2009
Сообщений: 45
|
|
| 03.04.2010, 23:04 | |
|
HIMen, Туплю. Согласен.
Evg, это отнюдь не искусственный способ. И очень часто гораздо более удобный чем goto. А вы зря боитесь дробить алгоритм на несколько маленьких подфункций. Это не запутывает, а наоборот упрощает работу. Не всегда, конечно, но очень часто.В случае 3-х 4-х вложенных циклов почти всегда есть оправданная возможность декомпозиции. Касательно переменных. Если пользоваться классами, то такая проблема сама собой отпадет. Ибо полностью отпадает надобность в переменных глобальных. В качестве примера мой клас решающий СЛАУ содержит 3 переменные и массив в привате и по 0-2 локальных переменных на функцию.
0
|
|
|
|
|||
| 03.04.2010, 23:52 | |||
|
Добавлено через 57 секунд P.S. Преобразование фурье привёл чисто для того, чтобы понять хараткер функции. Само преобразование делается без goto
0
|
|||
|
12 / 12 / 2
Регистрация: 08.07.2009
Сообщений: 45
|
|||
| 04.04.2010, 02:07 | |||
|
в С++ int, float, long и.т.п это так же классы. Тоже полная ерунда? Я уверен, что вы пользуетесь компилятором С++ и абсолютно не жалуетесь, что какой-нибудь double является классом. Почему бы мне не оформить решение СЛАУ в виде класса, ведь это будет гораздо читабельнее за счет декомпозиции, чем 50-70 строк кода щедро усыпанных комментариями и перемежающимся разными сомнительными решениями типа goto или while - break.
0
|
|||
|
8384 / 3618 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
||
| 04.04.2010, 02:51 | ||
|
0
|
||
|
12 / 12 / 2
Регистрация: 08.07.2009
Сообщений: 45
|
|
| 04.04.2010, 11:00 | |
|
Да, это правда.
Можно, например, для проверки явно задать конструктор int a(5); Не помню точно, по моему у Элджера в "Библиотеке программиста" об этом можно почитать.
0
|
|
|
373 / 287 / 97
Регистрация: 17.12.2009
Сообщений: 567
|
||||||
| 04.04.2010, 12:39 | ||||||
|
тема уже отошла в сторону, но все равно не побоюсь добавить оффтопа ради истины:
у Страуструпа в "Програмирование на С++" написано, что интегральные типы: int, double, bool и т.п. не являются классами. Подозреваю что разработчику языка можно верить )) . а int() - это оператор, его можно перегрузить.
1
|
||||||
|
8384 / 3618 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
||
| 04.04.2010, 14:02 | ||
|
0
|
||
|
|
|||||||||||
| 04.04.2010, 14:37 | |||||||||||
|
2. ifstream - это класс, а потому он не может принимать на вход какие-либо значения. Ровно как и не может принимать значения экземпляр класса. 3. Никакого вектора значений ни в одном методе класса ifstream нет. Ни на входе, ни на выходе Вот прототип конкретной программы. Это фрагмент исходников компилятора. Функция распределения ресурсов для переменной. Нужно разобраться, переменную надо класть на регистр или в стек. На регистр нельзя класть переменные, на которые брался адрес, нельзя класть массивы, нельзя класть большие структуры, в некоторых случаях нежелательно класть маленькие структуры, нежелательно класть переменные, у которых мало использований (лучше оставить регистры для часто используемых переменных), ещё всякие тонкости (я описал только понятные случаи). Процедура распределения ресурсов выглядела примерно так:
Данный фрагмент процедуры представляет собой так называемый "код верхнего уровня", логику которого крайне нежелательно пилить на процедуры (чтобы весь процесс был перед глазами, а не размазан по нескольким процедурам). Более мелкие блоки, отвечающие за вычисление какого-то конкретного свойства, можно и нужно выделять в отдельные процедуры, ибо для понимания ОБЩЕГО ПРОЦЕССА не надо знать, как в деталях работает тот или иной фрагмент алгоритма, ибо в большинстве случаев правильное название функции, отвечающей за фрагмент, и комментарий в одну строку делают этот момент хорошо понятным. Но ОБЩИЙ ПРОЦЕСС (самый верхний уровень) пилить на подпроцессы только ради того, чтобы избежать goto - это совершенно точно снизит понимаемость. Проверено на многолетнем опыте
1
|
|||||||||||
|
8384 / 3618 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
|
| 04.04.2010, 15:37 | |
|
0
|
|
| 04.04.2010, 15:37 | |
|
Хороший тон программирования
Хороший стиль программирования Хороший стиль программирования: где размещать константы? Как называется движение программирования или теория программы считывающая др. язык программирования Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Часы электронные
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С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|