Related to Learning Things.
There are only two hard things in Computer Science: cache invalidation and naming things.
I’ve never had to deal with cache invalidation. However, I can vouch for the difficulty of naming things, after seeing how much my organization seems to struggle with it.
Here is what I know:
Use a scheme
I do not know all of my passwords, but I can produce them as required. I remember a single scheme. I simultaneously have zero passwords and hundreds. I only remember one, and yet I remember all of them.
One of the major benefits here is being able to predict names. “What did we name the private load balancer in front of the caches for client 38? Probably lb_38_cache_private”. Searching for the thing is now much easier.
Names should be as short as reasonable, and no shorter
Self-explanatory.
Start generic, then narrow down
The web is famously “backwards”. giggle.com
“should have been” com.giggle, ala Java classes and usenet newsgroups.
Disambiguate with further specifiers
If there are two of something, extend their names with what differentiates them.
Take porchlight_left
and porchlight_right
, for example.
Use ISO 8601
Use it.
DO NOT prefix folder contents
This makes me angry:
Data Sources/
- Data Source: Cisco.pdf
- Data Source: Juniper.pdf
What is the point? Don’t do that.