|
62 / 62 / 13
Регистрация: 27.01.2009
Сообщений: 279
|
|
Советы26.08.2010, 21:18. Показов 1259. Ответов 7
Метки нет (Все метки)
Добрый день, сделал с горем пополам калькулятор, но необходимы советы о написании программ на примере того же калькулятора, так как было довольно заморочливо его делать и программа похожа на if-then лестницу с отслеживанием кучи зависимости
1. как правильно проектировать программу(с помощью какого-то псевдокода или еще чего)? 2. как правильно подходить к решения вариантов хода событий(сначала описывать поведение программы по правильному пути, а потом предусматривать все возможные варианты или стараться походу все варианты учитывать) 3. как задавать ф-ции чтобы они были максимально независимыми? 4. как писать программу чтобы не запутаться в своем же коде и можно было легко их модифицировать?
0
|
|
| 26.08.2010, 21:18 | |
|
Ответы с готовыми решениями:
7
Советы Советы С++ Советы новичку |
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 26.08.2010, 21:33 | |
|
norge_goth,
1. Можно писать псевдокод. Можно писать сначала, читать переписывать заново. Естественно код должен быть разбит на функции, если оно того стоит. Или на классы, если объектно-ориентированный подход. 2. Я придерживаюсь стараться походу. Но не всегда это получается 3. Что это значит? Независимыми от чего? 4. ыы. а вот это проблема. в коде запутаться можно легко. Однако с опытом приходит понимание того как писать правильно
1
|
|
|
62 / 62 / 13
Регистрация: 27.01.2009
Сообщений: 279
|
||
| 26.08.2010, 21:39 [ТС] | ||
|
У меня калькулятор(тоесть его часть) написан на Qt проблема в том что там получается один класс и беспрерывная обработка нажатий клавиш с вызовом соответствующих ф-цый
0
|
||
|
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
|
||||||
| 26.08.2010, 21:52 | ||||||
|
1. лично мне удобно рисовать схему взаимодействия классов (ну или методов), так легче отследить как лучше спроектировать каждый отдельный метод, диапазон значений параметров, что помогает при борьбе с уязвимостями и защите "от дурака".
2. см. п. 1 3. каждай фунцкия сама должна проверять корректность вводимых значений, хороший тон - возвращать переменную, которая говорит об успешности выполнения функции. тогда удобно и дебажить - поставить проверку типа:
на правах рекламы - С. Макконнелл - "Совершенный код" - очень помогло в свое время
1
|
||||||
|
155 / 102 / 12
Регистрация: 22.07.2010
Сообщений: 445
|
|
| 26.08.2010, 23:00 | |
|
1. В Философия C++ в первой главе написано как проектировать ООП программы. Извиняюсь текст выложить немогу т.к. авторские права нарушу.
Не по теме: Почти в любой теме знания из Философии мне помогаят отвечать на вопросы в темах думаю не зря читаю эту книгу:)
0
|
|
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||||
| 26.08.2010, 23:19 | ||||||||
|
Поправленный вариант (будем считать, что DeleteTags использует код возврата для уведомления о успешности выполнения):
0
|
||||||||
|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
||
| 26.08.2010, 23:56 | ||
|
Как я понял,одно из важнейших правил-разделяй и властвуй. То есть из низкоуровневого кода нужно стараться при росте программы делать более высокоуровневые построения, и делать это так,чтобы семантика кода обогащалась. То есть чтобы каждая строчка кода была предельно ясной по мере возможности. Ещё очень важно сокрытие данных и модульность.То есть чтобы все части программы были как можно более независимыми и непосредственные данные из одного модуля не использовались в коде другого. Например,в моей программе мне это сделать,я считаю,не удалось, так как по настоящему независимым является только парсер (я уже использовал его в другой программе).
2
|
||
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||||||||||
| 27.08.2010, 03:46 | |||||||||||
0
|
|||||||||||
| 27.08.2010, 03:46 | |
|
Помогаю со студенческими работами здесь
8
Советы начинающему Советы по освоению материала Нужны советы по задачам
Советы по реализации проекта Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|