Một gợi ý từ "Mã sạch" của Bob Martin khiến tôi phải vò đầu bứt tai .. "Nếu một khi chức năng gọi khác, họ nên đóng theo chiều dọc và người gọi nên ở trên callee"
Cho đến nay, tôi đã ít nhiều bám sát các hướng dẫn .Net, nhóm thành viên nhóm nào theo loại (thuộc tính, bộ đệm, chức năng) và mức độ hiển thị (công khai / bảo vệ / riêng tư). Đầu tiên có vẻ như rắc rối .. nhưng nó "chỉ có thể hoạt động". Cá nhân tôi đã gặp trường hợp tôi thích cách bố trí này - dễ dàng đi sâu hơn khi bạn vào đúng chuỗi cuộc gọi.
Ý tưởng đằng sau tiền boa có vẻ hợp lý nhưng các kịch bản khác như "hãy để tôi nhìn vào giao diện công cộng của lớp này" có thể trở nên tồi tệ hơn. Có lẽ chú Bob đang ngân hàng trên các lớp học nhỏ và hỗ trợ IDE để xem các loại ...
Có ai đã thử điều này trong một thời gian dài?
Cập nhật: Có vẻ như một đoạn mã theo thứ tự
class SomeType()
{
/// fields, ctors, et. all
public void Method1() { // calls HelperMethod1 and HelperMethod2 }
private void HelperMethod1 { // calls HelperMethod3 }
private void HelperMethod3 {}
private void HelperMethod2 {}
public void Method2 () { // and so on... }
}