Hacker News new | ask | show | jobs
by spooneybarger 3067 days ago
It does.

But the point you raise...

"Should this be HTTPLogger or Logger given that it is in the HTTP package"

and variations thereof is something that has been a point of contention at almost every job I've been at.

by default with Pony if you use a package, you'll have the classes imported directory into your namespace so...

HTTPLogger is more clear in that case, but you could use a qualified import and then have something like http.Logger.

It's a matter of preference.

1 comments

I understand, but the sheer amount of duplication is rather overwhelming. Also, a lot of it seems like implementation details related to the API/protocol and so on that don't need this kind of naming uniqueness.

Go solves this by never dumping namespaces into another namespace: You have http.Request, and that's it, which is both unambiguous and self-explanatory. Name clashes can occur (e.g. packages have the same name, or a local variable has the same name), but that's rare.