В моих классах обычно 150-200 строк при 10-15 методах.
Часто между методами возникает иерархия различной глубины и порой такая запутанная, что без бутылки не разберёшься.
Иногда я задумываюсь: а не вынести ли все эти слои в другие классы...
Или не выносить, да и шут с ними, пусть слоятся...
А как вы делаете?
spoilerclass SomeClass
{
//deep1
public static function myFunc1(): void {self::myFunc3();}
//deep1
public static function myFunc2(): void {self::myFunc4();}
//-------------------------------------------------------
//deep2
private static function myFunc3(): void{self::myFunc5();}
//deep2
private static function myFunc4(): void{self::myFunc6();}
//-------------------------------------------------------
//deep3
private static function myFunc5(){}
//deep3
private static function myFunc6(){}
}