Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.08.2010, 01:52   #1
JDredd
Пользователь
 
Регистрация: 07.08.2010
Сообщений: 13
Восклицание Как "правильно" програмировать ?

Как я делал курчас ( Шашки ) :
Цитата:
1) В билдере накидал на форму компонентов.
2) В обработчиках контролов написал половину кода.
3) Потом пришлось переделывать интерфейс. И начался ад :
- несоответствие внутренних данных и того что видит пользователь
- попытки выставить "checked" в удаленном компоненте
- дублирование интерфейса == копипаст тела обработчика
- долгий дебаг
идеи к которым я пришел
Цитата:
1) Глобальная функция обновления экрана : в зависимости от внутренних переменных правильно ставит "checked" и перерисовывает доску.
Цитата:
2) Спец. класс - ядро.
При создании главной формы - создаем 1 экземпляр и передаем ссылки на нужные контролы.
Все обработчики состоят из одной строчки : вызов метода ядра.
Моя цель - минимизировать время разработки, отладки и поддержки кода.

Как "правильно" програмировать ? Верны ли мои идеи ?
Что почитать по теме ?

Последний раз редактировалось JDredd; 07.08.2010 в 14:03.
JDredd вне форума Ответить с цитированием
Старый 07.08.2010, 07:37   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Молодец. Ты всё правильно делаешь.
"Ад" проходят все.
Почитай А. Я. Архангельского "Программирование С++ Builder 5, 6",
"Приёмы программирования С++ Builder механизмы Windows, сети"
и Михаил Фленов "DirectX и С++ искусство программирования".
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 07.08.2010, 13:55   #3
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

Цитата:
1) В билдере на накидал на форму компонентов.
fail .
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 09.08.2010, 09:11   #4
mrChester
Я
Форумчанин
 
Аватар для mrChester
 
Регистрация: 24.04.2010
Сообщений: 693
По умолчанию Как "правильно" програмировать ?

программировать... вот так правильно
Все персонажи вымышлены, все совпадения случайны.
Если жизнь игра, тогда я её разработчик ©.
mrChester вне форума Ответить с цитированием
Старый 09.08.2010, 09:47   #5
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
2) В обработчиках контролов написал половину кода.
Тут не должно быть никакой логики программы и внутренних механизмов. Только работа с контролами и вызов соответствующих методов/функций.
В обработчике для совершения хода не должно быть никаких проверок, никакой работы с игровым полем по переносу шашек. Только вызов метода/функции "СделатьХод", в которой уже всё это происходит и которая никак не завязана на GUI.
Цитата:
3) Потом пришлось переделывать интерфейс. И начался ад :
- несоответствие внутренних данных и того что видит пользователь
Что за внутренние данные и как они отображаются пользователю?
Цитата:
- попытки выставить "checked" в удаленном компоненте
Вообще-то эта ошибка должна всплывать при компиляции. Если конечно доступ к компоненту идет напрямую, а не через указатели или FindWindow.
Цитата:
- дублирование интерфейса == копипаст тела обработчика
1) Один и тот же обработчик можно повесить на несколько контролов. Допустим, есть пункт меню и кнопка на панели инструментов. Обработчиком OnClick для них может выступать один метод. Для пункта меню, например, его пишем, а для кнопки - выбираем уже написанный из списка
2) Есть такая штука, как Action. Создаем соответствующий Action, пишем для него обработчик, выставляем иконку, если надо, посредством этой штуки управляются и свойства типа Checked, Enabled,...

Последний раз редактировалось Stilet; 09.08.2010 в 10:10.
pu4koff вне форума Ответить с цитированием
Старый 09.08.2010, 13:10   #6
Rapid
Форумчанин
 
Аватар для Rapid
 
Регистрация: 01.09.2007
Сообщений: 747
По умолчанию

Цитата:
Как "правильно" програмировать ? Верны ли мои идеи ?
Не могу сказать, что все идеи верны, но многое из того, что пишешь уже открыто.
Никому не верьте.
Rapid вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23
"ОКРВВЕРХ", "ОКР", "ЕСЛИ". Как бы их связать. Каравай Microsoft Office Excel 13 17.02.2010 09:53
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
Паскаль. 2 задачи (Программа "Верификация","КАК БРИГАДИРУ РАЗДЕЛИТЬ ЗАРОБОТАННЫЕ ДЕНЬГИ") Valik102 Помощь студентам 3 20.05.2009 20:42