Working on multiple unrelated tasks and code reviews
As I grow, I like to jump back and forth between two (or more) things at the same time, even if these things are not related to each other. I can concentrate very quickly, so the warm-up time is not a concern. The reason I like to jump between the two is because I often find that I can solve problems faster.
The downside to this is that I end up completing two tasks at the same time, and when the code review comes up, I have to explain two separate ideas to the reviewer. Also, the reviewer has to look at more code each time I ask for a review than if I were doing one task at a time.
Do you have any suggestions for helping me maintain my preference for jumping between tasks, making it easier for the reviewer?
Some options I thought of are as follows:
- Make intermediate checks even if functionality is incomplete. (trace marker code)
- Try to work on tasks that have a clear separation of source files so that code can be shipped independently.
a source to share
My suggestion: Make two separate copies of the code, two IDEs, etc.
No matter how good it is in your head to keep them separate, it undermines some of the benefits of SCM if you do:
- If you check out a fix (or new feature) on two issues in the same session, it is much more difficult for you to revert one of the issues, or, for example, merge the fix into another branch without copying that feature. As you noticed, you also make it difficult to see the code, and it will be even more difficult in the future if something breaks as a result of your code, because now someone might not be sure what the problem is that a piece of code Related.
- If you are testing incomplete functionality it can break the assembly. This also makes future tracking difficult again.
- Even with a clear separation of the original files, making two unrelated changes at once, you imagine that there is some interdependency - so while the code can work with both problems, it can break if one or both of the change codes are on their own.
a source to share