3 điểm bởi GN⁺ 2023-10-28 | 1 bình luận | Chia sẻ qua WhatsApp
  • Bài viết về cách vẽ sơ đồ kiến trúc phần mềm hiệu quả
  • Tác giả nhấn mạnh tầm quan trọng của sơ đồ trong phát triển phần mềm, vì chúng thường là trung tâm của các cuộc thảo luận và ra quyết định
  • Nội dung của sơ đồ phải chính xác, cập nhật và không mơ hồ, đồng thời các thực thể và mối quan hệ phải được thể hiện chính xác
  • Tác giả đề xuất một số đặc điểm của sơ đồ hiệu quả:
    • Giảm thiểu khoảng cách lân cận: Giữ các nút liên quan ở gần nhau sẽ giúp sơ đồ dễ hiểu hơn. Điều này càng trở nên khó khăn khi sơ đồ lớn hơn
    • Tìm tính đối xứng: Sơ đồ đối xứng hấp dẫn hơn về mặt thẩm mỹ và dễ hiểu hơn. Ngoài ra, chúng cũng có thể củng cố ý nghĩa mà sơ đồ truyền tải
    • Căn giữa: Sơ đồ gọn gàng và được căn chỉnh rõ ràng giúp làm sáng tỏ các khái niệm. Duy trì căn chỉnh mỗi khi thêm phần mới sẽ giúp sơ đồ luôn ngăn nắp
    • Sử dụng nhóm container: Chia sơ đồ thành nhiều vùng có nhãn sẽ giúp dễ hiểu hơn. Container có thể bổ sung ngữ cảnh, thể hiện mức độ trừu tượng hoặc nhóm các đối tượng liên quan
  • Tác giả hứa sẽ đề cập thêm ở phần 2 về cách vẽ đường đi của đường nối, kích thước và vị trí nhãn, màu sắc, biểu tượng, v.v.
  • Bài viết này là một phần của blog Terrastruct, nơi cung cấp tài liệu cho các kỹ sư phần mềm và nhà phát triển

1 bình luận

 
GN⁺ 2023-10-28
Ý kiến Hacker News
  • Một người dùng cho biết họ thích tạo sơ đồ nhờ các tùy chọn định dạng và cú pháp của ngôn ngữ D2, và đã viết một bài đăng blog về chủ đề này.
  • VisualFlows.io dự kiến sớm phát hành v1.0, cho phép người dùng thiết kế bản đồ kiến trúc động cho SaaS của họ chỉ trong vài phút. Các tính năng chính gồm Smart Sections, Smart Edges, Smart Node Deletion, chế độ Dark/Light, Embeddable, kéo thả hình ảnh/svgs/gifs, biểu tượng AWS/Windows/Google và hỗ trợ Markdown.
  • Một người dùng khác cho rằng khi hệ thống bắt đầu thay đổi, việc duy trì các sơ đồ “đẹp” có thể trở nên khó khăn, và đề xuất dùng diagrams-as-code như một giải pháp thay thế hiệu quả hơn.
  • Một người dùng bày tỏ sự thất vọng rằng dù các mô hình ngôn ngữ lớn có thể làm được nhiều thứ, vẫn chưa có công cụ cục bộ nào để sắp xếp lại các khối và mũi tên cho đẹp về mặt thẩm mỹ. Họ đặt câu hỏi vì sao không có công cụ cho phép người dùng vẽ hộp và mũi tên, rồi công cụ tự căn chỉnh mọi thứ để trông đẹp mắt.
  • Một người dùng chỉ ra sự tương đồng giữa sơ đồ kiến trúc phần mềm với sơ đồ điện, sơ đồ mạch và các bản vẽ kỹ thuật khác. Họ cho rằng không có “đáp án đúng”, và việc chọn ra cách trừu tượng hóa và biểu đạt tốt sẽ tách những ý tưởng dễ hiểu khỏi sự lộn xộn đáng tiếc.
  • Một người dùng chia sẻ kinh nghiệm dùng yEd để vẽ sơ đồ. Với công cụ này, bạn có thể làm các hộp và mũi tên trở nên lộn xộn, nhưng chỉ cần vài cú nhấp trong menu là chúng sẽ tự được sắp xếp lại.
  • Một người dùng bày tỏ sự cảm kích với một bài viết giải thích cách làm cho thứ gì đó đẹp hơn theo hướng thực tế. Họ nói rằng bình thường mình chỉ dựa vào cảm quan.
  • Một người dùng chia sẻ kinh nghiệm dùng D2 để tự động tạo sơ đồ D2 lớn từ tệp serverless.yml. Công cụ này sẽ tự cập nhật khi hệ thống phát triển.
  • Một người dùng khác đã thêm ngôn ngữ D2 vào bài đăng blog của mình để bàn về chủ đề mã thiết kế an ninh mạng.
  • Một người dùng đề xuất thêm các khối plantuml để chèn sơ đồ vào các dự án được viết dưới dạng tài liệu markdown. Họ lưu ý rằng khi mở tệp .md trên GitLab bằng trình duyệt web thì sơ đồ được render tốt, trong khi GitHub vẫn chưa có tính năng đó.