Go, viper, toml, yaml, config files, gocheck, reflect!
Just when you think you have a handle on things, it all starts to go wrong. I started off this morning thinking that I just needed to plug in some existing library machinery to better handle configuration files (there are many choices in the go third party developers list) but no!
It seems that even though these packages are provided as “working” in reality there are a number of compile errors to be overcome and a lack of good documentation and examples to get a developer going. Indeed in some cases the examples were just wrong.
So I’m left with making decisions on incomplete information while trying to find the best configuration package solution for my needs, while also trying to make sure that the Flexibility I need is present to.
ini files go get -v github.com/spf13/viper
github.com/spf13/viper
github.com/stvp/go-toml-config
I’ve also looked a bit more at test driven development and tame test cases but have not been able to find any that have been useful. The most interesting tool I have found is gocheck which seems to systematise some of the test library creation required.
http://blog.golang.org/error-handling-and-go
http://labix.org/gocheck
Finally I’ve done little bit of work trying to understand reflection and how it is important to me as a developer of go. Certainly I’ve not come across this kind of self describing concept before; and while it seems to be reasonably well adopted in modern languages, the older languages and scripting languages I’m used to haven’t required me to use or understand it.
http://blog.golang.org/laws-of-reflection
Well lets see what tomorrow brings.