| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
原始链接: https://news.ycombinator.com/item?id=37974021
作者提到访问一个讨论软件系统设计新范例 C4 的链接,其中涉及到模块化和灵活性的转变。 他们认为,虽然当前的方法经常由于大量的依赖关系而导致复杂且丑陋的系统,但 UML 很难避免这个问题,因为 UML 严重依赖于详细而冗长的描述。 相反,作者建议从更广泛的功能描述开始,然后逐渐将其分解为更小的模块。 然而,尽管图表总体上很受欢迎并且易于采用,但它们仍然没有得到充分利用,而 UML 却被认为是一个糟糕的选择,因为它依赖于复杂的设计并且忽视了实际的考虑。 为了提高图表的理解和实用性,作者建议对所有内容进行标记并添加图例,但他承认即使是经验丰富的技术人员也可能无法清晰地理解图表。 虽然作者认为标签足以替代复杂而深奥的图表,但其他人主张坚持遵守既定标准以增强理解。 最后,作者强调图表必须不断发展以反映现实世界的限制和权衡,并提供超越美观和便利的实际好处。
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
The biggest problem I've seen with architecture diagrams is they fall out of sync with the code base. In my opinion, automatic generation of these diagrams is necessary. Otherwise, teams have no way to know whether the picture in front of them accurately represents the latest state of the system.
reply