There's a design thing called The Principle of Least Astonishment. Basically design things that do what the users think they should do.
Anyway! I work by a principle which I've named The Principle of Greatest Annoyance. I half jokingly say that I'm reasonable at doing software stuff because when using some framework, library, or technology I always assume the developer of it wants to cause me harm. This lets me intuit how to achieve the desired result buy considering how the developer would cause me the most grief possible.
 - assume that the developer doesn't just delete your OS or mine cryptocurrencies behind the scenes.