Hacker News new | ask | show | jobs
by bilinguliar 1973 days ago
Do not get me wrong, k8s is a revolutionary piece of software, but it is not the best example of a clean Go project.

There are a few disturbing things:

1) Usage of `utils` package. Points against it were made in:

https://dave.cheney.net/2019/01/08/avoid-package-names-like-...

https://github.com/golang/go/wiki/CodeReviewComments#package...

2) Check out the number of dependencies. This looks almost like NPM hell.

3) Lack of standardization and consistency. This project is so big, and there are so many contributors with their coding styles that the project looks untidy.

4) A lot of import renaming is a symptom of package name clashing or simply poor package naming. You usually do not need to rename import, and this is simply not required if your package structure was carefully thought about.

Again, k8s is great. K8s solves a lot of problems. I love it, but it is not a great example of Go code.