![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| m1kle |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 245 Регистрация: 2.5.2007 Где: Москва, Россия Репутация: нет Всего: нет |
У меня есть программа, но работать с ней мне совсем не удобно, есть ли какие то специальный способы, хитрости, как сделать код лучше.
К стати вот и сам код: #include"TXLib.h" // Используемые функции
+ И еще желательно скажите мне ошибки, которые я туту допустил(т.е. те, где можно было сделать лучше ) Это сообщение отредактировал(а) m1kle - 23.5.2007, 19:43 |
|||
|
||||
| JackYF |
|
||||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Способ, работающий в 99% случаев - переписать заново. +1.
Слишком много параметров функции, сделай передачу структуры в функцию. Информативность имен страдает. Слишком много констант в коде. Комментарии к работе функций желательно переносить в раздел объявлений функций, а не описания их тел. Дальше не осилил... |
||||
|
|||||
| nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 19 Всего: 181 |
Для начала начни пользоваться тэгами "код", потому что читать невозможно. А так на первый взгляд: - функция Action длиной где-то на 90% кода - разделить на мелкие функции и передавать им нужные параметры - в той же функции целый экран переменных - используй лучше структуры (и параметров меньше передавать надо будет) - функция Man с 13(!) параметрами это жесть (см. пункт 2) -------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Да, кстати. Наверху в форме ответа есть кнопочка "код". Применяй ее, и твой код станет гораздо более читабельным для остальных форумчан.
|
|||
|
||||
| m1kle |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 245 Регистрация: 2.5.2007 Где: Москва, Россия Репутация: нет Всего: нет |
Стоп, а как сделать передачу из структур в функции? (сорри за нубоватость, только начинаю.
1,2, спасибо. |
|||
|
||||
| DigitSphinx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 28.4.2007 Где: Москва Репутация: 1 Всего: 3 |
что то типа :
|
|||
|
||||
| bsa |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Лучше так:
или так, если пишешь на Си:
|
||||
|
|||||
| m1kle |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 245 Регистрация: 2.5.2007 Где: Москва, Россия Репутация: нет Всего: нет |
Помойму структурами наоборот хуже будет, и долше.
Насчет остального согласен. А есть еще какие то хитрости |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
bsa,
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
13 (или сколько там...) параметров, которые передаются в функцию - не дело. Все параметры запихни в одну структуру и передавай указатель на неё в функцию. |
|||
|
||||
| m1kle |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 245 Регистрация: 2.5.2007 Где: Москва, Россия Репутация: нет Всего: нет |
JackYF
Я не понял, а как стрктуру передать в функцию. Значит создаю я стрктуру
Может похоже на бред, но насколько я понял надо как то так. Это сообщение отредактировал(а) m1kle - 24.5.2007, 11:55 |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Точно. Это бред и есть. Тебе дали 100% рабочий вариант. Там все написано:
|
|||
|
||||
| m1kle |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 245 Регистрация: 2.5.2007 Где: Москва, Россия Репутация: нет Всего: нет |
А эти структуры хоть ускорят работу программы, а то столько текста, а толку 0.
|
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
||||
|
||||
| adLucem |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 17.4.2007 Где: Украина, Донецк Репутация: нет Всего: 5 |
Читал - плакаль, ниасилил. Афтар выпей йаду.
(Прошу меня правильно понять - комментирую в том же стиле, в котором написана программа.) Я конечно понимаю, что всем нужно с чего то начинать, но проблема не в том, что некоторые люди пишут, проблема в том, что они считают нужным это показывать другим людям (перефраз Чехова). JackYF, Я думаю эту программу ничто не сделает ни читабельной ни расширяемой кроме переписывания. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |