| The answer to your problem of "large commit" is this: 1) Create "research prototype" of your solution.
But do not commit it or commit it into separate branch (not master). 2) Create a plan how to split that code into smaller steps.
Separate refactorings that will support your new feature - from your actual feature (that changes functionality). 3) Commit refactorings separately from your main feature commit. Keep every refactoring commit as small as possible). 4) At the end commit your functionality changing feature.
If possible, split it into multiple commits too. That should help with code review. Remember, your team will have to code review your code multiple times: 1) When you are making your commits. 2) When your code reviewer reviews it. 3) In the future, when you or other team members maintain your code and try to understand why you created code that way. So - optimize your commit to reduce code review time (even if it increases initial code writing time). |
I'm now changing contract, hopefully with the new team it will be possible to find a better compromise. For example, I offered to walk the reviewer through my code, which I think would have helped a lot, but this was refused...