Hacker News new | past | comments | ask | show | jobs | submit login

I would argue that naming very high-level things (like your top-level services) is very much an architectural decision.



Agreed. Only Software Architects have the special ability of naming things. Engineers and managers don't have this special knowledge.

When I went to Standford to get my PhD is Software Architecture I was required to take at least 2 semesters of classes on the theory of naming things in software. The biggest point the class made was proving mathematically how one should never name anything after a plant, Greek/Roman god, gemstone, animal or molecular structure.


I hate with a passion services that have cute clever names. It makes it impossible guess what they do. It makes it easy to overload the service with things that don’t belong.... if the service was named “OrderService”, if somebody wanted to add a “spell check” endpoint people would start asking questions if that service was the right place. But since the service was named “CaptainCrunch”, who knows if spell check belongs...

Same goes for team names too... clever team names are obfuscation.


Agreed, the post you replied to had a sort of different point though. I took two semesters of naming things as part of my PhD in software architecture. Do you know anyone with such a PhD? Do you know of any course in any university that teaches people how to name stuff? Did you need to take such courses to arrive at your philosophy on naming things?


Mathematics does calculations, not decisions.


The post was sarcasm that flew over your head. You can’t even get a PhD in software architecture because the entire field is a sham title created by industry. There is no theory or science behind “software architecture”

Either way you are wrong about math. All decisions can be mathematically modeled. It’s called a conditional expression, and you use it to model/calculate decisions when you program.


Different conditional expressions make different choice in the same situation, then you need to choose what conditional expression should be in the program.


Different numbers produce different results in the same arithmetic expression.

Here's the concept of conditional expressions explained via a mathematical text: https://math.libretexts.org/Bookshelves/Mathematical_Logic_a....




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

Search: