Добрый вечер, товарищи Подскажите, пожалуйста, можно ли разбить widget.h на несколько

заголовочных файлов?

35 ответов

12 просмотров
BV-Багров Автор вопроса

Или это плохой тон?..

Можно, разбивай.

BV-Багров Автор вопроса
Ilya Zviagin
Можно, разбивай.

Подскажите, как сделать это правильно )

BV Багров
Подскажите, как сделать это правильно )

0) сделать 1) контролировать в процессе правильность

BV-Багров Автор вопроса
Ilya Zviagin
0) сделать 1) контролировать в процессе правильнос...

Как долго будут продолжаться эти безнадёжные попытки пошутить? )

Ilya Zviagin
0) сделать 1) контролировать в процессе правильнос...

деревенщина какая-то, прежде всего надо написать тесты

BV Багров
Или это плохой тон?..

это извращение, а не плохой тон. А главное: в чём смысл?

BV-Багров Автор вопроса
Sergey eSKon
это извращение, а не плохой тон. А главное: в чём ...

Widget.cpp и widget.h разрослись и хотелось бы разбить их на смысловые блоки

BV Багров
Widget.cpp и widget.h разрослись и хотелось бы раз...

Стоп, вы про свои что-ли файлы? Или про кьютовые заголовки? Если про свои то более идиотского вопроса не видел. Что хотите то и делайте со своими файлами. И зачем нам сообщать название вашего файла? Это что-то меняет? Я подумал что речь о кьютовом заголовке

BV Багров
Widget.cpp и widget.h разрослись и хотелось бы раз...

Я бы показал cpp в котором 25к строк, но NDA)

Пашечка
Я бы показал cpp в котором 25к строк, но NDA)

Мне кажется срр на 25к строк это само по себе отличная обфускация.

Пашечка
Я бы показал cpp в котором 25к строк, но NDA)

Добавить еще на 10К дополнительные лишние функции, методы, переименовать основные в непонятные названия, и код обуфсцирован

BV-Багров Автор вопроса
Sergey eSKon
Стоп, вы про свои что-ли файлы? Или про кьютовые з...

Кьютовые эаголовки, где определён UI. В файле есть чёткое смысловое деление, поэтому хотел разбить его.

BV Багров
Кьютовые эаголовки, где определён UI. В файле ест...

Кьютовые из состава кьют? Написанные разработчиками кьюта?

BV Багров
Кьютовые эаголовки, где определён UI. В файле ест...

У меня лично отделен ui от самого виджета

BV-Багров Автор вопроса
Sergey eSKon
Кьютовые из состава кьют? Написанные разработчикам...

Когда создаёшь проект Qt, создаются widget.cpp и widget.h, так? Я в них писал и они уже стали большие

BV Багров
Когда создаёшь проект Qt, создаются widget.cpp и w...

Всё, что непосредственно в вашем проекте, можете менять как хотите.

BV-Багров Автор вопроса
Vladimir Shcherba
Всё, что непосредственно в вашем проекте, можете м...

Как я могу перенести часть объявления переменных в другой файл, условно в widget2.h, что для этого нужно сделать?

BV Багров
Как я могу перенести часть объявления переменных в...

На этот вопрос нет простого ответа. Если там класс объявлен, можно разделить его функционал на несколько классов поменьше и разнести их по разным файлам.

BV-Багров Автор вопроса
Vladimir Shcherba
На этот вопрос нет простого ответа. Если там класс...

Мне нужно пользоваться элементами UI. Или я как-то могу это сделать вне widget.cpp?

BV Багров
Когда создаёшь проект Qt, создаются widget.cpp и w...

нет, не так. Опытный разработчик обычно переименовывает файлы на своё усмотрение. А так-же создаёт новые когда это требуется. Обычно каждый отдельный класс помещается в отдельный модуль

BV-Багров Автор вопроса
Sergey eSKon
нет, не так. Опытный разработчик обычно переименов...

Это и есть отдельный класс Widget, но он огромный.. Есть ли возможность воспользоваться элементами UI за пределами widget?

BV Багров
Это и есть отдельный класс Widget, но он огромный....

Зачем он огромный? Что он такого рисует?

BV-Багров Автор вопроса
Mikhail Kalugin
Зачем он огромный? Что он такого рисует?

Много кнопок, каждая свой метод выполняет

BV Багров
Это и есть отдельный класс Widget, но он огромный....

это скорее всего означает, что вы всю бизнес логику написали в UI, что категорически неверно (хотя повторюсь - ваш код, что хотите то и делаете)

BV-Багров Автор вопроса
Sergey eSKon
это скорее всего означает, что вы всю бизнес логик...

Не спорю, возможно, поэтому я хочу исправиться =)

BV Багров
Это и есть отдельный класс Widget, но он огромный....

а вообще "огромный" это очень относительно. У меня например в проекте модуль в котором вся работа с БД - 20К строк кода

Sergey eSKon
это скорее всего означает, что вы всю бизнес логик...

Подозреваю, дело не в этом, а в непонимание архитектуры. Widget - одна кнопка. Window - штука с виджетами (удобно отдельно задизайнить внешний вид, а в коде оставить только бизнеслогику), Model - удобный механизм работы с данными списков, деревьев...

Mikhail Kalugin
Подозреваю, дело не в этом, а в непонимание архите...

да он предложенное по умолчанию имя просто оставил

BV-Багров Автор вопроса
Sergey eSKon
а вообще "огромный" это очень относительно. У меня...

У меня скромные 3k, но я понимаю, что они могут быть разбиты )

Sergey eSKon
а вообще "огромный" это очень относительно. У меня...

20к строк, солидно. Он он же все равно существует ради одной конкретной цели а не содержит в себе вообще всю бизнеслогику?

BV Багров
У меня скромные 3k, но я понимаю, что они могут бы...

вы неправильно вопрос ставите. Вам не разбивать нужно, а переносить бизнес-логику в другие классы. Если вы оставите структуру той же, но тупо разобъёте файл - это только хуже будет

Mikhail Kalugin
20к строк, солидно. Он он же все равно существует ...

ну там много классов, но все связаны с БД. Все модели, все вспомогательные классы. Меня устравивает. Есть ещё отдельные модули аппконтроллер - 7К строк, обмен с сервером - 5К ну и много других

BV-Багров Автор вопроса
Sergey eSKon
вы неправильно вопрос ставите. Вам не разбивать ну...

Да, Вы правы (Прошу прошения, что не сразу ответил) Как мне лучше это сделать, если мне необходимо обращаться к графическому интерфейсу?

BV Багров
Да, Вы правы (Прошу прошения, что не сразу ответи...

для этого и существует механизм сигналы/слоты. Бизнес-логика что-т делает и выдает сигналы, интерфейс на них реагирует. Также БЛ реагирует на сигналы из UI

Похожие вопросы

Обсуждают сегодня

Ребята, всем привет. Подскажите, пожалуйста, можно ли как-то через бота понять, что этого бота добавили в группу\канал и выдали ему права администратора?
Artem Stormageddon
9
Это переведённый текст с английского. Я не говорю на русском, но могу использовать переводчик Телеграм. Приветствую! Я начинающий веб-разработчик и все еще учусь. В настояще...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
2
А не хотим ли мы развлечься? 😉 Но так чтобы с пользой для наших профессиональных навыков?? 👨‍🎓👩‍🎓 Предлагаю на октябрь запланировать тестовый запуск новой командной игры "Игр...
Andrii Kurdiumov
2
Привет всем! Почему этот код не срабатывает при добавлении или удалении пользователя из чата? bot.on('chat_member', async (ctx) => { console.log(ctx); }) bot.launch({allo...
Alexander
5
у кого сколько оперативы на базе данных ?
АДИЛЬБЕК
4
Через бот апи возможно получить ID стикерпака? Не ссылку.
Vexylon [АФК до 09.09]
5
Привет Хочу сделать аналог iCloud’а для своих проектов, чтобы пользовательская информация хранилась в облаке, была доступна во всех сервисах, её можно было подсасывать везде)...
Виталий
9
В тг можно спарсить всех кто пишет в группе? Если список участников скрыт
S
3
код Event::listen('cms.page.display', function (&$content, $slug, $page, $html) { if (is_object($content)) { dump($content); } else { dump($s...
Point 111
3
Ребят, а двух-факторку для плагина Users и для бэкенда октября кто-то прикручивал? Поделитесь опытом
Constantine Anikin
4
Карта сайта