

With continuous deployment you don’t care - one commit with adding constant and one with indentation changes. you’re a “=“ in one column fetishist and you introduce new variable / constant with longer names with previous: SOMETHING_SMART = “aaa” KAKA = “dada” SOMETHING_SUPER_SMART = “new” # the new one The most stupid thing hard to refactor without making PR harder to read is changing indentation of few lines. Or as side effect of developing a feature - something that I like more, but it may make PR harder to review, because it would change not only lines effectively introducing new feature, but also reshape code.
POWERMAIL REFACTORING DEPLOYMENT CODE
You may either refactor code intentionally and deliver it as new PR - then someone else may ask you to reshape it before delivering it to production. But code review is not for the code to be perfect at the delivery time, but to perfecting the code in incremental process. Both problems were showing up after delivering the code - during code review. Timespan from 5 to 1 days before deployment. Preliminaries + briefing + reserving resources. Here’s the basic structure I prefer in deployment planning.
POWERMAIL REFACTORING DEPLOYMENT SOFTWARE
You could have been wrong with the direction the change was being made, so the design after all wasn’t better. Deployment plan (Cut over plan) Even though Excel is fine for making plans, there are far better software for demanding deployment planning. Sometimes developer was so in “refactoring” mode, that some refactorings didn’t provide much value, apart from being closer to perfect.


But all those failures were easy to handle and fix. It doesn’t mean we didn’t have such problem - we did, on daily basis. PowerMail - A redundant and distributed system for receiving and storing mail. It pushed us to really mature way of development features - new features were continuously deployed under feature toggles, all commits were quite short, every longer one was criticised in post-deploy code review.Īnd refactoring… Refactoring was pure pleasure - every small change was committed and got through integration and deployment pipeline just to make sure none of the steps corrupted semantics of the code. InstallAnywhere Now - A multi-platform software deployment solution. You could still crash server because of some nasty typo in code - but there was pretty straightforward rollbacking process. Our continuous deployment pipeline wasn’t bulletproof, far from it. It was like no-brainer to avoid pull requests and just push code to git’s master and deploy from master as soon it was committed. deployed deployee oncontextmenu sqliteman xamrin opencvfacerecognizer. In my previous job I was happy to introduce continuous deployment as the way to go. refactor swingbuilder setdragimage cachemiss muchslower evasive descriptors. Refactoring easier with continuous deployment
