В настоящее время я пытаюсь организовать свой код лучше.
Для этого я использовал пространства имен, группируя классы по компонентам, каждый из которых имеет определенную роль и несколько интерфейсов (фактически абстрактные классы).
Я нахожу, что это довольно хорошо, особенно когда мне пришлось переписать целый компонент, и я почти не влиял на остальные. (Я полагаю, что было бы намного сложнее с кучей смешанных классов и методов)
И все же я не на 100% доволен этим. Особенно я хотел бы сделать лучшее разделение между интерфейсами, публичным представлением компонентов и их реализацией.
Я думаю, что «интерфейс» самого компонента должен быть более понятным, я имею в виду, что новичок должен легко понять, какие интерфейсы он должен реализовать, какие интерфейсы он может использовать и что является частью реализации.
Вскоре я начну больший проект, включающий до 5 разработчиков, и я хотел бы прояснить этот момент.
Так что с тобой? как ты делаешь это? как вы организуете свой код?