====== 16 ways to improve your code after it’s ‘finished’ ====== Conspect of an [[https://www.infoworld.com/article/3529973/16-ways-to-improve-your-code-after-its-finished.html|article from InfoWorld]] by Peter Wayner ===== Lint ===== Use Lint tool to make an automatical "code review" based on rules. ===== Profile ===== Optimize your code using profiler. ===== Remove debugging tools ===== Remove unnecessary logging. ===== Analyze with AI ===== CodeGuru from Amazon is tool, that looks for issues and have AI competence. ===== Curate data ===== Optimize database for speed and stability. ===== Optimize data flow ===== Maybe your application can profit from a cache. ===== Optimize data ===== Reduce data amount needed by your application. E.g. don't save photos in RAW format. Or if the user uploads such photos - restrict him to use only optimized images. ===== Add an API ===== API toolkits like Swagger can help you to create APIs if it can be necessary for your application. ===== Bundle into a library ===== Sometimes it can be worth to extract some code to a library (or many libraries). ===== Document ===== Write documentation for your code. ===== Split into microservices ===== Splitting the application into many microservices can help to make the project more granular. ===== Containerize ===== Containers can be very handy in some situations. ===== Deploy to serverless ===== Now that serverless computing options are growing more common, it may be smart to extract the essential functions from your code and deploy them to a serverless platform like AWS Lambda or Azure Functions. The bills are computed by the call, so you’ll pay nothing for fallow periods when there’s no incoming traffic. If your code is already well constructed and doesn’t require any local state, it is often easy to extract the business logic from your app and rewrap it in a simple function call used by a serverless system. ===== Deploy to mobile ===== Sometimes there are a good reasons to make a native app from a web based application. ===== Move to web ===== Sometimes it can be also worth to go in the other direction: from mobile to the web. ===== Keep going ===== Make the refactoring process permanent.