-
Notifications
You must be signed in to change notification settings - Fork 184
Description
It's good to give code reviews. However, I think code review should not block merging pull requests.
As long as there is no obvious problem or no deal breaker with a pull request, it should be merged despite imperfections.
Acceptable imperfections should be communicated on pull requests, but pull requests without deal breakers should be merged quickly.
After acceptable imperfections are communicated and pull requests are merged, imperfections could be fixed later by either maintainers or pull request authors. If maintainers fix imperfecitons, they can just push commits. Contributors can summit subsequent pull requests. This leads to progress.
If new features don't introduce breaking changes, it's okay for them to not be perfect initially. It's better to have new experimental features that may break and be fixed later quickly than to stagnate and slowly die or be taken over by faster projects.
If developers who don't have time to review code pursue perfection, then a project is going to stagnate. Haskell's type system makes it largely safe to merge pull requests that introduce new features without breaking changes.
Perfection is the enemy of good. Perfection is a mental construct that doesn't actually exist in the physical universe. As long as we are in the physical universe, don't expect perfection. Prioritize progress over perfection.