3 ms·
>Code is better than YAML. This is too broad a backlash against it. Where YAML is used in problem domains where the configuration complexity is strictly limite
by pydry 4y ago
>Code is better than YAML.
This is too broad a backlash against it. Where YAML is used in problem domains where the configuration complexity is strictly limited and "etched in stone" it works very well. Nobody tends to champion YAML in this use case because it becomes somewhat invisible. It Just Works and nobody complains, but nobody raves either.
In domains where you have to start templating YAML, it fails horribly of course. This is YAML being used in a domain where it either shouldn't ever have been used or where APIs of some kind should have been provided alongside to accommodate dynamic use cases.
What "works" as configuration is often very hard to know up front, but the above attitude is throwing the baby out with the bathwater rather than seeking the correct balance.
Turing complete code is inherently more difficult to parse, understand and modify clearly than a config file and much more susceptible to technical debt.
>Your Integration Tests are Too Long
This is also a wrong attitude, I think. Faster feedback loops are great, but an obsession with speed typically leads to a lot of very quick tests that test very unrealistically - often missing entire classes of bug.
I've worked on a bunch of projects which had test suites that completed in under 10 seconds and never caught any bugs. Meanwhile, the team would end up leaning on manual QA to replace "slower" integration tests and the feedback loop on that made 5 hour CI runs look entirely worthwhile.
- brodouevencode 4y agoSeconded on YAML. I often wonder if the people who say this are attempting to build their own tooling or have such sufficiently complex systems (which I would also question as to why they are so complex). I've spent the past 10 years in very large media and retail establishments and cloudformation/terraform/k8s manifests have been useful *enough*. I couldn't imagine trying to template/macro yaml files without first looking at some sort of modularity native to the platform.
- sleepybrett 4y agoHave a fast suite and a long suite. Run the fast suite per commit, require a successful of the long suite before the merge.