TL;DR: Don't use bitwise operators unless your business model is bitwise logic.
- Improve readability
Some clever programmers solve problems we don't have.
We should optimize code based on evidence and use the scientific method.
We should benchmark only if necessary and improve code only if really necessary and bear the cost of changeability and maintainability.
const nowInSeconds = ~~(Date.now() / 1000)
const nowInSeconds = Math.floor(Date.now() / 1000)
We can tell our linters to warn us and manually check if it is worth the change.
- Real-time and mission-critical software.
- Premature Optimization
If we find this code in a pull request or code review, we need to understand the reasons. If they are not justified, we should do a rollback and change it to a normal logic.
Code Smells are just my opinion.
Original Article Here.
Watch the little things; a small leak will sink a great ship.
This article is part of the CodeSmell Series.