|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
maytonШаблон еще более высокоуровневый чем интерфейс. У него даже названия базовых классов и методов - не регламентированы.мммм в других ЯП аналогов нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2019, 11:18 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
Шаблон это вообще не про язык. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2019, 11:26 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
maytonШаблон это вообще не про язык.вопрос вроде практический. Значит он не применим к сабжу. Сабж - как из обособленного компонентаА вызвать компонентБ. Тогда все барахло из 20 классов будет инкапсулировано в черном ящике. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2019, 11:31 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
SeriyKКак упростить восприятие проекта? Да никак. НАпиши документацию -- это будет лучшее. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2019, 13:37 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
Petro123вопрос вроде практический. Значит он не применим к сабжу.Я так понял, дело в связях? Т.е. один класс как-то использует другой класс и поэтому где-то надо писать #include? Так вот, шаблон не требует к своим шаблонным параметрам include. У меня есть упоротый проект исключительно на шаблонах, там все include только в одном месте: где идёт объявление всех объектов. Не, я, конечно, лукавлю, на счёт "в одном месте", но все архитектурные вещи друг от друга никак не зависят, они потом в одном месте друг другу в качестве шаблонных параметров передаются. К примеру, у меня есть класс CMetric (это шаблон), который используется всеми другими объектами, так как метрика. И всего 2 include, один в app.cpp, потому что там описание, один в project.cpp, потому он всё это запускает (скорее всего можно от второго избавиться). И эта метрика на вход получает тип данных, и единицу измерения - один раз в коде(и это app.h). По-моему, очень удобно и просто. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2019, 13:57 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
страус очень топит за шаблоны и старательно внедряет в новых версиях C++ ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2019, 17:53 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
Мне кажется топик пошел не туда. Здесь имелось 21893948 в виду шаблоны проектирования а не шаблоны функций. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2019, 17:57 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
CEMb, т.е. что бы уменьшить количество классов, нужно перевести их в шаблоны :-)? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2019, 20:09 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
kealon(Ruslan)CEMb, т.е. что бы уменьшить количество классов, нужно перевести их в шаблоны :-)?При применении шаблонов число классов вырастет, зато их связность можно уменьшить. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2019, 21:51 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
SeriyKНаписал проект, в котором порядка 100 файлов с различными взаимосвязанными классами. Да, все логично разложено в разные классы без повторов кода и с разделением ответственности. Это привело к тому, что классов и взимосвязей между ними стало много и беглый взгляд на всё это не позволяет уловить основные заложенные идеи. Человеку с улицы разобраться с этим клубком переплетенных ссылок в сотне файлов очень сложно. Как упростить восприятие проекта? Количество классов и возможность стороннему разработчику уловить основные идеи коррелируют слабо. Ваша диграмма классов, даже если у вас идеальная архитектура(а такого не бывает) будет скорее запутывать, если вы попытаетесь уместить на ней все и кому-то показать. Да и не интересно, у разработчика сейчас немало вспомогательных средств чтобы понять, как устроен ваш проект. Единственное, что я могу посоветовать, так это назвать ваши сущности коррекно, и, как ни странно, не стесняйтесь комментировать свой код. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2019, 23:19 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
Автор пишет про восприятие. А что такое это вообще? Восприятие. Это как он сам воспринимает свой проект. Рискну предположить что восприятие плохое когда код просто плохой или содержит много внутренних противоречий. Или как говорит мой коллега .. код содержит "договорняк" которые не очевиден. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2019, 23:37 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
Скорее интересно, что делает каждый конкретный модуль/сервис, и как и с кем он обменивается сообщениями. Т.е. скорее потоки данных ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2019, 23:37 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
При этом у него 100 файлов. По современным меркам - это маленький проект. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2019, 23:41 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
kealon(Ruslan)т.е. что бы уменьшить количество классов, нужно перевести их в шаблоны :-)?чтобы уменьшить число классов, надо уменьшить число классов, но я думаю, проблема не в числе классов у автора. bk0010При применении шаблонов число классов вырастет, зато их связность можно уменьшить.да и число классов не обязательно вырастет. автор не раскрыл тему структуры проекта. Обычно, все классы можно разделить на тематики. Я сейчас открыл свой последний проект, ему полгода, там оказалось около сотни файлов (я думал, штук 50...), у меня всё разбито по папкам на тематики. В корне только 2 файла, проект.cpp (это то, что студия сгенерила, проект Win32 использую для запуска) и app.cpp. (ну и хедеры, плюс stdafx-и и почему-то resource.h). Всё остальное лежит по папкам: Классы и интерфейсы для окон. 3. Улилиты. 9. Названия чётко показывают, кто с чем работает. Структурные данные. 9. Тоже всё ясно из имён. Работа с настройками. 4. Метаданные. 4 Графика. 3 Классы для MDI, 9 UI, диалоги, 21 База данных, 6 Парсер кода, 1 (умножаем всё на два, h и cpp) Структуру самого приложения это нагляднее не делает, но зато легко позволяет найти нужные вещи, они всё на своих местах. И это мне позволяет легко работать с самой архитектурой проекта. Я это всё к тому написал, что автор не раскрыл тему структуры своего проекта, может у него просто всё в куче... если разложить по папкам, всё становится куда нагляднее. С другой стороны, бывают вещи сложные, как их не раскладывай. "Нейрохирургия мозга для чайников" не бывает. Некоторые вещи просто надо мочь держать в голове. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2019, 05:47 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
CEMb, +1 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2019, 07:24 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
CEMb, +1 умножать на два не надо. имхо - подсчитываются сущности-классы... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2019, 09:45 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
kolobok0умножать на два не надо. имхо - подсчитываются сущности-классы...ну там автор про файлы говорил, поэтому я написал в файлах. Но вообще да, по нормальному, число файлов должно соответствовать числу классов * 2. Но вот у меня не так, у меня в одном заголовке может быть 1-2 класса, потому что иногда лень выносить в отдельный файл, поэтому у меня в проекте число файлов примерно соответствует числу классов (~100 тоже) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 05:18 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
Пытаюсь в Eclipse поставить плагин для UML: Papyrus- удачно установился, появилась перспектива, но на диаграммах не меняется черный цвет стрелок, поэтому при цветовой схеме Dark связей практически не видно. UML Designer - установил сборку eclipse-modeling-2019-03 (в которой по логике этот продукт присутствует) и теперь абсолютно не понятно как достучаться до этого инструмента: такой перспективы нет, проекты такого типа создать нельзя, в справке откровенная хрень как добавлять элементы в список, а не на диаграмму, интернет молчит. Visual Paradigm- на сайте есть только exe- дистрибутивы для Windows (что мне не подходит). ObjectAid- только визуализирует уже написанный Java- код, при этом не позволяет заниматься предварительным моделированием. PlantUML- установил их плагин с помощью инфы с их сайта ( http://plantuml.com/ru/eclipse), но как пользоваться этим шедевром- абсолютно не понятно (нет ни новой перспективы, ни нового шаблона проекта). Кто- нибудь пробовал работать с UML в Eclipse? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2019, 10:20 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
Немного соврал про UML Designer: появилась перспектива Sirius (чтоб никто не догадался!) и типы проектов Modeling Project и Ecore Modeling Project , при создании которых я не вижу области для построения диаграмм и соотвествующей панели инструментов (для наполнения диаграммы). ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2019, 10:31 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
Попробовал разные способы установки UML Designer с их сайта и всегда получаю ошибку (Sirius 6.1.2 из Marketplace успешно установлен): авторCannot complete the install because one or more required items could not be found. Software being installed: UML Designer 9.0.0.201901300933 (org.obeonetwork.dsl.uml2.runtime.feature.feature.group 9.0.0.201901300933) Missing requirement: UML Designer 9 Пробовал варианты: 1. Kubuntu 19/04 и OpenSuse 2. Три версии 9.0, 8.1 и 8.0 3. Разные сборки Eclipse: Eclipse IDE for Enterprise Java Developers и Eclipse Modeling Tools Постоянно при установке вываливается эта ошибка. Короче, какая- то хрень с этим UML Designer. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2019, 12:11 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
В борьбе за UML Designer решил, что у меня Java плохая :) Снес текущую Java и натянул Oracle Java. Ошибка продолжает появляться. Думаю с UML Designer надо попрощаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2019, 15:07 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
SeriyK, плюнь ты на этот Eclipse, в нём постоянно что-то отваливается KDevelop рекомендую ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2019, 15:45 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
SeriyKНаписал проект, в котором порядка 100 файлов с различными взаимосвязанными классами. Как упростить восприятие проекта? Это мелкий проект. У нас был 40 Gb исходников, а были файлы по мегобайту размером и функции свыше 10К строк. Да, даже опытный разработчик входил в курс даже части проекта за 3-6 месяцев. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2019, 22:19 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
SeriyKВ борьбе за UML Designer решил, что у меня Java плохая :) Снес текущую Java и натянул Oracle Java. Ошибка продолжает появляться. Думаю с UML Designer надо попрощаться. Поражают твои злоключения. И что значит снёс. Поставил. Поставь две. Сконфигурируй так чтобы каждое приложение видело свой JRE. Тыж программист едрить тебя налево....! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2019, 22:27 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
LepsikУ нас был 40 Gb исходников, а были файлы по мегобайту размером и функции свыше 10К строк.Если не секрет, что это было? Просто интересно, получается, в функции 10К строк уникального, неповторяющегося кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2019, 05:21 |
|
|
start [/forum/topic.php?fid=57&msg=39820232&tid=2017607]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 251ms |
total: | 373ms |
0 / 0 |