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ã.