(no title)
bakatubas | 4 years ago
There’s a ton of value in the idea of diagramming code and then generating sources. UML is a starting point but the journey is far from over.
The more appropriate idea is that you create documentation in the form of diagrams for free. Just like in TDD you get unit-tests for free.
Folks always talk about self-documenting code—and that’s great. But what about conveying a complex system to a new team of engineers? Diagrams are frankly priceless if done well.
Also, looking at something like Kubernetes where a declarative YAML file generates magic underneath is somewhat similar. A step beyond what we have would be nice diagramming capabilities over the YAML to auto generate the plumbing underneath.
Personally, I think future advances in development _will_ be done as higher level ideas—pictures worth a thousand lines of code—AI will do the rest.
toast0|4 years ago
The problem is the diagrams are hard to create and hard to update and usually don't remain synchronized to the code. If there was a good way to create documents from the code (perhaps with some annotations required), it could just be a Make target and boom, free(ish) documentation.
kgilpin|4 years ago
tonyarkles|4 years ago
seventh-chord|4 years ago
bakatubas|4 years ago
That is a nice benefit of good development frameworks: how easy is it to explore new ideas? And frankly that’s why there’s an uptick in higher level languages.
bboreham|4 years ago
Has been tried: https://github.com/CATechnologiesTest/yipee
pjbk|4 years ago
bakatubas|4 years ago
I think a lot of it comes down to folks not bothering to invest in making good tools—or developers sticking to their current workflow.
That is why I relate it to Test-Driven Development because it does require a shift in process. But the end result, I think, could be very rewarding.