Lovc
36 / 36 / 3
Регистрация: 19.06.2015
Сообщений: 79
|
|
#1 | |
Проектирование программы: методы и литература по теме - C++19.06.2015, 18:41. Просмотров 1211. Ответов 23
Метки нет Все метки)
(
Собираюсь написать большой серьезный проект и для этого мне необходимо понимать, как правильно спроектировать свою будущую программу.
Какую литературу на эту тему прочитать? Что посоветуете?
0
|
|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
19.06.2015, 18:41 |
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Проектирование программы: методы и литература по теме (C++):
23
Проектирование программного обеспечения (литература) - C++ Литература по теме Отладки программ - C++
|
Izual
14 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,564
|
|
19.06.2015, 20:12 | #2 |
Самое главное не делайте глобальных переменных. Моя вот программа когда перевалила с 20к строк, стало ясно что нада делать тучу cpp файликов, а не один большой. Просто из за того что время компиляции и сборки будет огромным, а исправлять порой приходится просто пару строчек..
Ещё по пройденным граблям - если будет с 20 winapi окон, то не меняйте названия переменных в них (а лучше вообще делайте их массивами, типа lc[5][20] (local char), на копипасте сэкономите кучу времени. Вообще конешно ещё лучше создать собственную платформу(типа с интерпритатором) для создания программ, но до этого надо дорасти))
0
|
Fulcrum_013
|
|
19.06.2015, 21:29 | #3 |
Зависит от многих факторов. Даже например от тематики программы и типа интерфейса. К примеру САПР удобнее проектировать по одному, программу работы с СУБД по другому, игры по третьему, ну а управляющий софт - это вообще отдельная песня.
А если включить мозги то копипаст будет делать компилятор, и коду надо будет очень сильно постараться чтобы дорасти до 20 тыщ строк. А то можно уподобится индусам которые слепили метод в 75,000 строк. Добавлено через 1 минуту интересно, а вы через 2 недели сами то вспомните назначение этого массива?
0
|
Izual
14 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,564
|
|
20.06.2015, 02:44 | #4 |
Сам по себе он не растёт, он пишется руками ну и какие то части (как например основа для winproc для WinApi копируется, так как оказывается проще, т.к. если уж хорошо делать, то обработка каждого окна слишком сложна). Я просто из своего опыта сказал, что я вот с такой проблемой столкнулся... работал 2 года над программой. (ну так, не спеша, за частую ещё и опимизируя частично, всё же размер не уменьшился) Про индусов даже начинать не буду, троллинг за ранее чую, нн раздувать.
Да, пишу платформу, потому большинство переменных не только таким образом в массивах, а даже больше, трёх мерные указатели, а в нутри могут быть ещё Н-меры. Никто не отменял знаки /* */ в которых можно хоть 1000 строк описания помещять..
0
|
Fulcrum_013
|
|
20.06.2015, 02:51 | #5 |
Хорошо читабельным считается код который читается без комментариев.[/quote]
При правильном проектировании код растет при создании "кирпичиков". Потом количество кода необходимого для доделывания той или иной фичи резко падает. Т.е. в начале создается абстрагированное двигло которое и есть основной по объему код. А добавление конкретики в результате занимает очень мало кода. Добавлено через 48 секунд Что понимается под словом платформа?
1
|
Izual
14 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,564
|
|
20.06.2015, 13:08 | #7 |
Так я понял, вам нехватает догматичного взгляда и стиля общения Hoggy?.. Ну так идите и с ним в таком русле и разговаривайте. Мне же все эти ваши шаблоны - просто по барабану.
Ещё раз читай мой предыдущий пост, или 7 раз читай, или пока не дойдёт... Я смотрю ты учитель йода видиш как начальство заказывает построение программы в начале, и как всё оборачивается через год и два.. Все вопросы заказчикам. Можеш глянуть на мой профиль, последние 10 созданных тем в этом разделе посвящены ньюансам того чем я как раз и занимаюсь. (больше сказать не могу, т.к. и говорить нечего, платформа - она и в африке платформа)
0
|
Fulcrum_013
|
|
20.06.2015, 13:25 | #8 |
Проектирует софт не заказчик а исполнитель. Читаем раздел "математическая постановка задачи"
Добавлено через 9 минут Та я тебе просто подсказать пытаюсь. Просто не совсем понятно что имеешь в виду под платформой. Есть такой к примеру термин - "платформер" - т.е. что то из серии 2D игр т.е. действия происходят на "платформе" -это из этой серии?
0
|
Izual
14 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,564
|
|
20.06.2015, 15:17 | #9 |
Ну что опять телекинезис?.. Я тебе говорю что ёпт в начале был один перечень задач, а потом он стал расти после выполнения первых.
На второе даже отвечать не буду, тот кто не хочет слышать - не услышит хоть 200 раз ему скажи. И это только подтверждается первым вопросом, на который ты сам так телекинетически ответил.
0
|
Lovc
36 / 36 / 3
Регистрация: 19.06.2015
Сообщений: 79
|
|
21.06.2015, 18:49 [ТС] | #10 |
Fulcrum_013, хочу написать LMS.
https://ru.wikipedia.org/wiki/%D0%A1...B8%D0%B5%D0%BC
0
|
Fulcrum_013
|
|
21.06.2015, 18:57 | #11 |
Я так подозреваю что для такой задачи вы ошиблись разделом как минимум на 50-70%. В такой задаче огромная часть будет On-Line соответсвенно для нее будут удобны серверные скрипт-языки и JavaScript. Хотя не исключено что какая то часть АРМ в интранете вуза будет на С++. Для начала рекомендовал бы ознакомится с подобным решением из комплекта 1С-Bitrix.
0
|
Lovc
36 / 36 / 3
Регистрация: 19.06.2015
Сообщений: 79
|
|
21.06.2015, 19:02 [ТС] | #12 |
Fulcrum_013, Я собрался писать на Python, но меня интересует проектирование, а так как на C++ пишется много больших программ, то и людей, которые предложат правильные книги, будет больше.
0
|
Fulcrum_013
|
|
21.06.2015, 19:16 | #13 |
Ну если вы всерьез за такую обширную тему решили взяться то книги по проектированию вам не читать надо а писать
![]()
0
|
Lovc
36 / 36 / 3
Регистрация: 19.06.2015
Сообщений: 79
|
|
21.06.2015, 19:35 [ТС] | #14 |
Спасибо, я понял вас. Лучше начну, а потом уже станет ясно, как лучше спроектировать.
0
|
Izual
14 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,564
|
|
21.06.2015, 19:36 | #15 |
Lovc, вы собираетесь на проэктирование месяц+ чтоль выбросить? - с таким тэмпом вы ничего не сделаете вообще.
Ньюансы работы будут отталкиваться от языка на котором вы собрались писать. Всё остальное - не так то уж и значимо. На грабли вы без опыта всё равно наступите, лучше просто начните делать, там дальше - по мере роста знаний и опыта сами будете оптимизировать код. Единственное на чём я бы заострил внимание я уже написал вам в 1 моём посте. Дорогу осилит идущий.
2
|
21.06.2015, 19:36 | |
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
21.06.2015, 19:36 |
Привет! Вот еще темы с ответами:
15
Определения по теме Погрешности и методы решения СЛАУ - Численные методы Литература по теме: "Многоуровненвая архитектура приложения" - C# Нужна литература в которой описаны именно классы и методы работы с операционной системой - C#
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |