|
5 / 5 / 5
Регистрация: 20.07.2014
Сообщений: 215
|
|
Как проектировать программу20.04.2017, 07:51. Показов 2912. Ответов 6
Метки нет (Все метки)
Может кто пнуть носом в документацию или примеры проектирования программ. У меня не получается найти ни одного примера проектирования какой нибудь массивной программы (около 5тысч строк кода, и более).
Далее личный опыт: Постоянно стыкаюсь с проблемой: как только программа разрастается, начинается появляться дупликация кода, начинаю теряться в коде так как для некоторых изменений нужно видеть всю картину. Приходиться пересматривать кучу классов, а потом еще и эту информацию как то удержать в голове, и когда добираюсь до нужной информации уже забываю, что там было в начале. Разработка программы начинает сильно тормозиться вплоть до полной остановки. Я уже понял что перед тем как писать программу её нужно уметь проектировать, и вносить изменения в проект, только потом можно будет понимать где и какой код нужно править. Пробовал читать книги по этой теме, но в них какая то непонятная для меня теория растянутая на 100500 страниц, возможно не те книги. У меня проблемы с английским, а материала на русском языке я так и не нашёл. Я предполагаю что все должно быть, приблизительно, так же просто как и в проектировании БД (сущность - связь, и лапкой показываешь что к чему относиться и как), как говориться все гениальное просто, надеюсь что проектирование совсем простое, если разобраться.
0
|
|
| 20.04.2017, 07:51 | |
|
Ответы с готовыми решениями:
6
Как проектировать структуру базы данных при agile?
Как проектировать программу? |
|
14292 / 9377 / 1352
Регистрация: 21.01.2016
Сообщений: 35,338
|
|
| 20.04.2017, 09:01 | |
|
Astend, этот вопрос не так прост как может показаться. С чего вы решили, что должно быть просто?
Мне, когда-то, понравилась данная книга. Так же пришлось перечитать 100500 статей (многие на хабре, но далеко не все) по всяким MVC и общим вопросам проектирования (в основном практические рекомендации той или иной степени адекватности). Так же, очень сильно помогла данная книга. После неё (как и после первой) я на свой говнокод стал смотреть иначе.
2
|
|
|
|
||
| 20.04.2017, 16:44 | ||
|
Однако надо фильтровать исходники выкладываемые на гитхаб: это своеобразная файло-помойка, в которой попадаются жемчужины, но много и говно-кода.
1
|
||
|
Модератор
3136 / 2283 / 469
Регистрация: 26.03.2015
Сообщений: 8,885
|
||
| 23.04.2017, 14:04 | ||
|
Но, чтобы применять такой подход, нужна база. Иначе, Вы просто не сможете придумать, как избавиться от очередной проблемы. Как наработать базу, Вам уже написали выше: 1. Книги 2. Статьи 3. Чтение чужого кода (пока не научитесь быстро определять плохой код) Всё это одновременно. Например, за компом читаете код. Нет рядом компа или устали сидеть за компом, то читаете книги. Если что-то непонятно, ищете статьи на эту тему. Добавлено через 9 минут Ещё довольно сильно зависит от языка программирования. Я обратил внимание, что в большинстве книг по императивным ЯП основное внимание уделяется синтаксису, а в большинстве книг по функциональным ЯП основное внимание уделяется правильному подходу к решению задач. На каком ЯП Вы пишете? Попробуйте найти хорошую книгу об этом языке. Большие программы состоят из маленьких кирпичиков - паттернов программирования. Изучайте паттерны (и общие принципы) для своей парадигмы.
1
|
||
|
5 / 5 / 5
Регистрация: 20.07.2014
Сообщений: 215
|
|
| 25.04.2017, 09:17 [ТС] | |
|
Пишу преимущественно на Java для Android, пока что читаю книги которые предложил автор во втором посте.
Также додумался загулить такое "Дипломная работа проектирование информационных систем". Уже 4-й день читаю книги, но у меня ощущение что я почти не сдвинулся. Пока что буду трудиться
0
|
|
|
14292 / 9377 / 1352
Регистрация: 21.01.2016
Сообщений: 35,338
|
|
| 25.04.2017, 09:40 | |
|
Astend, указанные мной книги подойдут и для явы. Идеи-то в них изложенные универсальны. И не рассчитывайте на мгновенный эффект как от пургена. Пара месяцев может уйти только на чтение и осмысление. Да и то, это только начало.
0
|
|
|
17 / 9 / 2
Регистрация: 18.01.2014
Сообщений: 155
|
|
| 03.07.2017, 01:02 | |
|
1
|
|
| 03.07.2017, 01:02 | |
|
Помогаю со студенческими работами здесь
7
Как правильно проектировать ПО? Как правильно проектировать ViewModel для UserControl? Блочное устройство. Как это правильно проектировать?
не могу проектировать базу данных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|