| There are many decisions that you can make to improve the quality of your codebase. There is no a recipe that you can follow because each application is different but there are some general things that can make your life easier. Here are some tips that helped me a lot: - Keep your solution and tech-stack as simple as possible - Mark those parts that can change often and try to make them configurable (when you have it configurable you don't need to change code and re-deploy every single adjustment) - Make sure you have a good and readable logging - Use DI - Separate your application core application logic from the infrastructure part (DAL, Network Communication, Log Provider, File readers/parsers and similar) - Keep your functions/methods clean and without side effects - Method has to return something (try to minimize the usage of "void" methods) - Split each feature or functionality you are working on into small pieces and compose the final thing with them - Be disciplined about your naming conventions and code style |