У меня большой класс Foo
1 :
class Foo {
public:
void apples1();
void apples2();
void apples3();
void oranges1();
void oranges2();
void oranges3();
}
Разделение класса - это не вариант 2 , а Файл] foo.cpp
стал довольно большим. Есть ли какие-либо серьезные недостатки в дизайне для сохранения определения класса в foo.h
и разделения реализации функций на foo_apples.cpp
и foo_oranges.cpp
.
Целью здесь является простая удобочитаемость и организация для меня и других разработчиков, работающих над системой, которая включает этот класс.
1 «Большой» означает около 4000 строк, не генерируемых машиной.
2 Почему? Ну, яблоки
и апельсины
на самом деле представляют собой категории алгоритмов, которые работают с графами, но довольно широко используют друг друга. Их можно разделить, но из-за исследовательского характера работы я постоянно меняю схему работы каждого алгоритма, которая, как я обнаружил, не соответствует (на ранней стадии) классическим принципам ООП.