Size: a a a

2020 August 16

RM

Roy Mustang in C++ Together 2.0
Получается что большая задача дробится на мелкие части и нету геморроя, когда тебе из другого модуля надо часть функционала запросить, а у тебя один модуль сразу N классов регает
источник

RM

Roy Mustang in C++ Together 2.0
Я юзал те фреймворки, когда у тебя набирается много .dll, то ты уже не понимаешь, какой функционал откуда лезет, потому что каждый из них регает N классов с разными именами
источник

🦊

🦊fox.cpp in C++ Together 2.0
Roy Mustang
Я юзал те фреймворки, когда у тебя набирается много .dll, то ты уже не понимаешь, какой функционал откуда лезет, потому что каждый из них регает N классов с разными именами
Так неймспейсы адекватные нужны, зачем жрать кактус, кидая все в одно место
источник

RM

Roy Mustang in C++ Together 2.0
🦊fox.cpp
Так неймспейсы адекватные нужны, зачем жрать кактус, кидая все в одно место
Не в этом дело, имена классов начинают отличаться от имени модуля и сложно сопоставлять кто чей из классов
источник

RM

Roy Mustang in C++ Together 2.0
Прикол еще в том, что там еще поверх этих классов интерфейсы двойные идут и туча макросов
источник

RM

Roy Mustang in C++ Together 2.0
Щас я тебе дам ссылку
источник

🦊

🦊fox.cpp in C++ Together 2.0
Roy Mustang
Не в этом дело, имена классов начинают отличаться от имени модуля и сложно сопоставлять кто чей из классов
Ну значит надо сделать так, чтобы имена классов включали в себя имя модуля
источник

RM

Roy Mustang in C++ Together 2.0
источник

RM

Roy Mustang in C++ Together 2.0
Вот смотри, как там можно разобраться?
источник

RM

Roy Mustang in C++ Together 2.0
Мало того что у него еще и интерфейсов много
источник

🦊

🦊fox.cpp in C++ Together 2.0
Какой-то плагин Socket из модуля Net должен быть Net.Socket, а не Socket
источник

RM

Roy Mustang in C++ Together 2.0
Нельзя везде пихать абстракцию и множественное наследование, это делает код нечитабельным
источник

RM

Roy Mustang in C++ Together 2.0
У меня вообще все просто, вот то что у него на макросах у меня за ширмой шаблонного кода и без такого кол-ва макросов как у него
источник

RM

Roy Mustang in C++ Together 2.0
А так же я постарался убрать виртуальные методы, которые не понадобятся разрабу
источник

RM

Roy Mustang in C++ Together 2.0
Щас пытаюсь как нибудь скрыть методы AddPlugin и GetPlugin
источник

RM

Roy Mustang in C++ Together 2.0
Пока ничего не выходит, пытался через наследование, тоже не катит
источник

🦊

🦊fox.cpp in C++ Together 2.0
🦊fox.cpp
Какой-то плагин Socket из модуля Net должен быть Net.Socket, а не Socket
И если тебе этот Net.Socket где-то нужен, то ты делаешь getHui<interfaceType>("Net.Socket");
источник

RM

Roy Mustang in C++ Together 2.0
🦊fox.cpp
И если тебе этот Net.Socket где-то нужен, то ты делаешь getHui<interfaceType>("Net.Socket");
Это дорого
источник

RM

Roy Mustang in C++ Together 2.0
Хеш мапу стучишь постоянно
источник

🦊

🦊fox.cpp in C++ Together 2.0
Roy Mustang
Это дорого
У тебя инициализация в горячем пути?
источник