One great major difference between procedural code versus object oriented code is the use of services instead of global function. Please convert as many global procedural functions to services.
All functions in .module and .inc files are candidates for services. Hook implementations are the exception, they can remain in .module, but can use services to do the work. Using services has several advantages: Code is decoupled; Dependencies will be made explicit by means of Dependency Injection; Services can be overridden (by other modules); Average memory footprint is reduced.
One great major difference between procedural code versus object oriented code is the use of services instead of global function. Please convert as many global procedural functions to services.
All functions in .module and .inc files are candidates for services. Hook implementations are the exception, they can remain in .module, but can use services to do the work. Using services has several advantages: Code is decoupled; Dependencies will be made explicit by means of Dependency Injection; Services can be overridden (by other modules); Average memory footprint is reduced.