Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Both cache invalidation and naming are easy on the surface but surprisingly complicated and prone to error.

Cache invalidation has a risk of both false positives (something got evicted from the cache but shouldn't have) and false negatives (something should have been evicted but was not) and the effects of errors can be invisible, annoying, or disastrous, depending on the situation. Incorrect cache invalidation usually results from incorrect dependency management.

Naming is hard because names have a conflicting combination of requirements: names need to be short (they will be repeated often), expressive, accurate, unchanging, and easy to remember. It's often quite difficult to find a name for a concept that fits all those requirements. My company has spent years finding the right names for certain core concepts, but that is time well spent.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: