Skip to content

DadoFlow Best Practices

Paul Mansour edited this page May 29, 2020 · 2 revisions

Best Practices

Avoid Patches to Old Versions

DadoFlow is designed for new releases. Generally each new release should be an increment the major, minor, or patch number of the last release. If the current release is 1.2.3, the next release should be 1.2.4, or 1.3.0, or 2.0.0.

DadoFlow accommodates, but discourages, patches to previously releases. These should be reserved for critical bug fixes for customers unable to upgrade for one reason or another. If you find that your process requires regular patches for multiple bugs on multiple versions, this is NOT the flow for you.

DadoFlow is NOT designed for parallel development of multiple versions. If you have 2.0.0 and 3.0.0 and need to release 2.1.0 and 3.1.0, and then 2.2.0 and 3.2.0, etc., this work flow is NOT for you.

Avoid Long-lived Feature Branches

All branches should be as short-lived as possible. However, from time to time, you may have a feature branch that takes a relatively long time to complete. To avoid the potential of one, big, complex rebase when the feature is complete, you should squash and rebase regularly before merging to the master.

Avoid Conflict

If you regularly have lots of conflicts when you rebase, you are doing it wrong. Keep your team small. Keep your functions small. Divide features into the smallest useful unit. Have clearly defined responsibilities. Communicate with your team members; if you are going to refactor dozens of functions across areas where other people commonly work, let them know and do it over the weekend or when they are on vacation.