Go is one of those languages where "good layout" feels more elusive to me than in other languages. I think you accidentally highlight one of the reasons why.
core.WeatherServices
Which makes sense because you're using a lot of things from core but since I have to carry the package name around everywhere I use it, outside of that module, it becomes a bit of a strain.
weather.Service
Would clearly be a better name in the "go style," but the single level package structure always makes me feel like my types are dangling out in space outside of any decent hierarchy.
I love Go as a language but I dislike how often it makes me think of exceptionally tiny things like this. Please don't read this as a criticism of your project just a general criticism of how thin the Go "namespace" ideology actually is.
Go is one of those languages where "good layout" feels more elusive to me than in other languages. I think you accidentally highlight one of the reasons why.
Which makes sense because you're using a lot of things from core but since I have to carry the package name around everywhere I use it, outside of that module, it becomes a bit of a strain. Would clearly be a better name in the "go style," but the single level package structure always makes me feel like my types are dangling out in space outside of any decent hierarchy.I love Go as a language but I dislike how often it makes me think of exceptionally tiny things like this. Please don't read this as a criticism of your project just a general criticism of how thin the Go "namespace" ideology actually is.