|
|
|
|
|
by ororroro
987 days ago
|
|
Getting a good layout is too dependent on the order of definition. I can see that becoming unsolvable for the user for large diagrams but seems ok for small ones. For example the following gives an ugly yet valid layout of the example: [more loot] no ->[<end>e]
[<start>start] -> [<state>plunder] -> [<choice>more loot] -> [start]
[Pirate|
[foul mouth]<:-[beard]
[parrot]--[beard]
]
[<table>mischief| bawl | sing || yell | drink ]
[<abstract>Marauder]<:--[Pirate]
[Pirate] - 0..7[mischief]
[<actor id=sailor>Jolly;Sailor]
[sailor]->[rum]
[Pirate]-> *[rum|tastiness: Int|swig()]
[sailor]->[Pirate]
|
|
I've used a few of these code-as-diagram products because I dream of a world where technical documentation, including diagrams, are part of the source code of a project. But my experience is that getting acceptable layouts, especially for external distribution but also just for internal use, is arduous.
And that frustration leads to at least two possible undesirable outcomes: the diagrams become unreadable or the diagrams become unmaintained.
To be honest, the idea of code-reviewing the documents during check-in is also a myth. In general the diffs on these kind of documents are extremely difficult to grok. It is almost impossible to meaningfully check the document is correct without rendering it and reviewing the output.
It is the kind of thing I really wish worked. Maybe one day it will become a solved problem.