Lưu đồ và phương thức gọi


11

Tôi đang thực hiện một số biểu đồ dòng chảy và tự hỏi nếu tôi đang tiếp cận điều này một cách chính xác. Về bản chất, tôi có một số cuộc gọi phương thức và tôi đang thực hiện từng bước riêng biệt. Tuy nhiên, một vài trong số các phương thức này thực hiện một cuộc gọi phương thức cho một số thông tin và sau đó tiếp tục. Xem ví dụ này:

nhập mô tả hình ảnh ở đây

Tôi có 3 phương thức khác cũng gọi GetQueue () và tôi tự hỏi liệu tôi có đại diện chính xác cho điều này không. Luồng AddQueue () trông có vẻ như bị hỏng.

LƯU Ý: Thay đổi được thực hiện trong sơ đồ của tôi:

nhập mô tả hình ảnh ở đây


Là mức độ chi tiết hình ảnh này thực sự cần thiết? Tôi biết rằng, tại một thời điểm, các sơ đồ như thế này rất phổ biến, nhưng dường như chúng đã không còn được ưa chuộng vì nhiều lý do ... Về cơ bản, chúng là một dạng tài liệu dư thừa; bạn phải luôn cập nhật chúng và mã phải thể hiện đầy đủ những gì được hiển thị trong sơ đồ (dù sao: thời gian tốt hơn là tạo ra nhiều mã hơn).
Robert Harvey

Nó đã được yêu cầu của tôi trước khi tôi chuyển sang một khách hàng khác.
Keith Barrow

@Robert Harvey: Lưu đồ là hữu ích trong những ngày xưa, khi mọi người viết mã máy hoặc trình biên dịch trực tiếp. Chúng có thể hữu ích cho các lập trình viên FORTRAN và BASIC sớm, những người không có cấu trúc điều khiển tốt. Ngày nay, lý do duy nhất tôi muốn làm là nếu một khách hàng muốn họ giao hàng và sẵn sàng trả cho tôi đầy đủ.
David Thornley

Khi phát triển những thứ này từ đầu tôi đã thấy rất hữu ích khi sử dụng các que màu vàng, xoay 90 độ cho các quyết định. Điều này cho phép bạn di chuyển chúng xung quanh và chèn các quá trình vào giữa. Khi bạn là tất cả don, sau đó nhập chúng vào phần mềm của bạn.
Michael Riley - AKA Gunny

Thỉnh thoảng tôi vẫn sử dụng sơ đồ, mặc dù tôi thấy bài kiểm tra đơn vị thường tốt hơn cho cùng một mục đích. Họ không thể giao hàng, mặc dù; Tôi sử dụng chúng để có được một luồng điều khiển ngay trong đầu mình.
Michael K

Câu trả lời:



2

Gần đây tôi đã thực hiện một số biểu đồ dòng chảy và đấu tranh với cùng một vấn đề, làm thế nào để trình bày các cuộc gọi chương trình con, hoặc có lẽ là phương thức và chức năng - như bạn có thể gọi chúng vào những ngày này.

Tôi giải quyết theo một quy ước rằng tôi tách các chương trình con ra khỏi chương trình TÀI LIỆU THAM KHẢO. Đối với trước đây tôi sử dụng một hình chữ nhật thông thường hiển thị cuộc gọi với các đối số được thực hiện, sử dụng bất kỳ biến nào có hiệu lực tại thời điểm đó trong thực hiện chương trình.

Tôi sử dụng hình chữ nhật "quy trình được xác định trước" đôi khi chỉ đơn giản là một tham chiếu đến một sơ đồ khác có chứa định nghĩa của hàm hoặc thủ tục con. Hình chữ nhật của thường trình con không cần hiển thị các đối số của thường trình con vì đó là một phần của biểu đồ luồng xác định của thường trình con trong câu hỏi, nhưng có thể hữu ích khi thêm chúng vào tham chiếu để bất cứ ai đọc nó đều có thể xem ý nghĩa của các đối số thực tế được sử dụng trong một cuộc gọi.

Điều này làm tăng số lượng hình chữ nhật nhưng nó làm cho rõ ràng hơn rằng các sơ đồ khác tồn tại để tìm định nghĩa của một số hàm được gọi từ. Thông thường nếu một hàm đơn giản, tôi sẽ không tạo một sơ đồ riêng cho nó mà chỉ ghi lại bằng lời nói.

Tôi cũng sử dụng biểu tượng "tài liệu" để nói rằng các chi tiết nên được tra cứu từ danh sách mã.

Quan điểm của một sơ đồ đối với tôi không phải là tạo ra một chương trình, mà là để người khác dễ hiểu chương trình hơn. Tôi nghĩ rằng sự giúp đỡ như một cái nhìn mắt chim và mục đích của chúng nên được ghi nhớ. Chúng không phải để mô tả trực quan MỌI chi tiết chương trình của bạn, chi tiết được hiển thị từ mã khi cần. Biểu đồ luồng chỉ là một hình ảnh của chương trình của bạn từ quan điểm cấp cao.

Giữ lưu đồ ở mức cao cũng có nghĩa là không cần phải cập nhật chúng khi mã được sửa đổi.

Chúng là hình ảnh. Giống như bất kỳ tài liệu phần mềm câu chuyện hay nào cũng nên có hình ảnh cung cấp quan điểm thay thế cho mã.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.