Don't prioritize temporary problems over long-term problems
Occasionally when weighing pros and cons of different approaches to a feature or solution, you'll have issues with each implementation on the pros and cons list. An important factor when evaluating the cons is whether the problems are long term or temporary. Focus on solving long-term problems rather than temporary ones if the solution is intended to last longer than the temporary problems.
Examples
- As I write this, there's a debate on how to implement CSS masonry. A new `display: masonry` property would simplify learning and configuration but risks some redundancy with `grid`. Integrating masonry into `grid` would make progressive enhancement easier, but the added complexity to implementation and learning would be a lasting drawback. The progressive enhancement challenges are temporary (eventually all browsers will support `masonry`), the learning curve and configuration issues of `grid` integration are long-term. So the `display: masonry` is the better approach.
Share this principle