so the controller doesn’t care what happens under the hood. 2. Use a combination of Strategy and Factory patterns to handle different Git clients. 3. Create an interface for the Git classes. 4. Create an Adapter class that will return the proper response for each client.
that will probably need to be recoded after user feedback. ー Experimenting with new tools and features that don’t have clear long term value. ー New feature or bug fix should be delivered fast (with caution).
make development faster? Or are you being lazy? ー Are there other features that depend on the same codebase? If so, will investing a bit more time now save you time down the road?
technical debt is accumulated and never tackled. ー Unintentional technical debt creates cruft and makes development harder. ー Codebase becomes outdated as technology evolves.
in regression testing. ー Duplicate code and copy/paste approach. ー Changing existing code for new features. ー Can’t understand what a function does. ー Slow performance, security issues, unreliable data results.