UML && Golang, part 2 ?

1,130 views
Skip to first unread message

alex-coder

unread,
Jul 4, 2021, 7:16:05 AM7/4/21
to golang-nuts
Ok, folk, as I see UML is not very popular within the community. :-)
But what do you use instead then ?

Anyway it must be some tool to present the code as a picture.
The picture is worth a thousand words :-).

Thank you.

Jan Mercl

unread,
Jul 4, 2021, 7:27:29 AM7/4/21
to alex-coder, golang-nuts
On Sun, Jul 4, 2021 at 1:16 PM alex-coder <a.gus...@gmail.com> wrote:

> But what do you use instead then ?

For what?

In case it's not obvious, I never touched UML and I don't really
understand its utility. So I'm asking an honest question. Knowing the
answer might help to possibly provide some answer to your question.

alex-coder

unread,
Jul 4, 2021, 11:45:28 AM7/4/21
to golang-nuts
Well, if there is a complex or not very complex system written in a programming language,
using uml helps faster understand both the system and the dependencies and constractions in the code. 
Especially if the system is unfamiliar.

Right ? :-)

воскресенье, 4 июля 2021 г. в 14:27:29 UTC+3, Jan Mercl:

satyendra singh

unread,
Jul 4, 2021, 11:57:46 AM7/4/21
to alex-coder, golang-nuts
Alex you can try this.

https://github.com/ofabry/go-callvis

Thanks and regards,
Satyendra

--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/2f3b4c90-5180-4522-b29f-b8ca2ad4c492n%40googlegroups.com.

Tyler Compton

unread,
Jul 5, 2021, 1:13:02 AM7/5/21
to alex-coder, golang-nuts
Is it true that UML is unpopular? I don't think you'll catch many gophers writing class diagrams, but I've found higher level UML diagrams useful.

That said, I find UML somewhat overspecified for day-to-day use. A simple block diagram is often enough for me to explain something to a coworker or as a piece of supplementary documentation.

--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.

Vladimir Varankin

unread,
Jul 5, 2021, 4:01:29 AM7/5/21
to golang-nuts
For the current system, that concists of <100 µ-services (the whole system is owned by one team), I'm trying to evaluate C4 model https://c4model.com. TBF, this is an ongoing experiment for myself, and I don't try to strictly follow the C4's nomenclature, but I find the idea of zooming-in & zooming-out from the system to answer different questions in different contexts, appeling.

I belive, UML defines of a bunch of diagram types (both structural and behavioral) — I don't think it's fair to ask, what one uses instead. It all depends on the context.

Jeremy French

unread,
Jul 5, 2021, 1:45:20 PM7/5/21
to golang-nuts
I wouldn't think that UML is unpopular, so much as it's not as helpful as other languages. UML is especially useful in OOP, which Go is not, at least not specifically. And I also think UML can tend to push you into certain paradigms of thinking or design patterns, whereas maybe Go tends to have more flexibility and more tricks available to it that don't lend themselves well to a UML diagram.

To be fair, it's probably been 10 years since I touched UML, so my memory is probably rusty, but I remember being quite into it when designing OOP systems, as it really helped map out the various entities in the system, assign responsibilities and define relationships. It was an excellent way to help design a system that was too big to fit in your head all at one time. But I think I remember that it was pretty object or class focused. Though that could have just been the way I used it. 

Henry

unread,
Jul 6, 2021, 1:09:54 AM7/6/21
to golang-nuts
UML is a design language. You can use it to express ideas and concepts regardless your programming languages, and to communicate those ideas to other people. Just like any other tools, you can use it in your projects as you see fit.

Many people have moved into a more agile-like development process, where design is constantly changed and refined with each iteration. You may still use UML to communicate the changes. In my projects, we use drawings and quasi-UML in between iterations but they are temporary and most do not make it into the project's documentation. We mostly rely on source code and comments, with some word documents and drawings for some high-level concepts and notes. They are meant for internal uses.

If you are involved in a project where formal documentation is required, then may be you would need to do the proper UML diagramming.

alex-coder

unread,
Nov 13, 2021, 11:43:20 AM11/13/21
to golang-nuts
Satyendra,

very interesting, but looks like a little bit out of date.

Thank you.


воскресенье, 4 июля 2021 г. в 18:57:46 UTC+3, satyendra...@gmail.com:

alex-coder

unread,
Nov 15, 2021, 3:03:34 AM11/15/21
to golang-nuts
After all, I found that plantuml is more suitable for code visualization. If anyone is interested, you will find it there: https://plantuml.com/

Thank all for participation.

суббота, 13 ноября 2021 г. в 19:43:20 UTC+3, alex-coder:
Reply all
Reply to author
Forward
0 new messages