2012-06-05 25 views
7

Như đã nói trong Bộ luật sạch của Bác Bob, chúng ta không nên thêm tiền tố cho các thành viên lớp học. Mặc dù tôi hoàn toàn đồng ý với các lập luận, nói cụ thể về Delphi, làm thế nào chúng ta sẽ phân biệt các lĩnh vực tư nhân từ các tài sản công cộng?Trường hợp thể hiện/lớp có được đặt trước trong Delphi không?

Trong Java không phải là vấn đề, vì không có thuộc tính.

Microsoft cũng đề xuất thực hành này bằng chữ in đậm lớn trong Coding Guidelines của chúng. Họ tạo sự khác biệt bằng cách sử dụng chữ thường cho trường riêng và chữ hoa cho thuộc tính công khai.

Bên cạnh đó, chúng tôi không có cú pháp nổi bật cho các thành viên lĩnh vực như IDE khác (miễn phí và mã nguồn mở IDE bao gồm ...)

Vì vậy, chúng ta nên tiền tố tất cả các lĩnh vực của chúng tôi? Hay chỉ những người va chạm với tài sản công cộng?

Edit:

Tôi biết rằng các tiêu chuẩn mã hóa cho Delphi là tiền tố các lĩnh vực với F, nhưng đó là preciselly những gì đã tuyên bố như một thói quen xấu trong Mã sạch. Điều đó có nghĩa là mã Delphi không thể "sạch" như mã được viết bằng các ngôn ngữ khác?

+0

Nhìn vào tờ khai lớp học trong bất kỳ đơn vị mà đi kèm với Delphi, ví dụ 'Classes.pas' . Tôi đang tìm kiếm, và ở khắp mọi nơi tôi đi Delphi tự của nó được xây dựng với nguyên tắc sử dụng 'F' như là một tiền tố cho các lĩnh vực tư nhân. –

+1

Như những người khác đã viết (xem bài đánh giá này: http://www.adampetersen.se/reviews/cleancode.htm) Mã sạch của Bác Bob rất theo định hướng Java và không phổ biến rộng rãi như một số người muốn chúng tôi tin. Tôi sẽ không chọn nó như là một kinh thánh mã hóa Delphi. –

+3

Có hai câu trả lời có thể (* có *, và * không *), và chúng có giá trị như nhau. Hướng dẫn kiểu không đồng ý. Đây không phải là một câu hỏi có thể được trả lời dứt khoát. Bỏ phiếu để đóng như ** không xây dựng **. –

Trả lời

10

Cách Delphi là tiền tố họ với F:

strict private 
    FField: Integer; 
public 
    property Field: Integer read FField; 

(. Thấy Object Pascal Style Guide)

+0

Yeap, đó là cách Delphi. Trên thực tế đó là khuyến nghị trong hướng dẫn mã hóa của họ. Tôi làm điều đó, vì nó có vẻ là cách duy nhất. Nhưng nó đi ngược lại các nguyên tắc mã sạch. –

+8

@RafaelPiccolo: không nó không, chỉ chống lại một hương vị nhất định của chúng. Hướng dẫn mã hóa có hương vị và các quy tắc chính xác của từng vấn đề không quan trọng miễn là bạn đồng ý và tuân thủ một. Khi làm việc với Delphi, bạn tốt hơn rất nhiều khi gắn bó với Borland Pascal Guide, những hướng dẫn của họ được biết đến rộng rãi và được biết đến rộng rãi. Gắn bó với những hướng dẫn này có nghĩa là khả năng nhận biết tức thời cho các nhà phát triển Delphi khác. Và đó chính xác là tiêu chuẩn mã hóa. –

+0

@MarjanVenema đã đồng ý. Tuy nhiên, quy tắc này (như nhiều người khác) ngày từ nhiều thập kỷ trước. Tôi không nói rằng chúng ta nên thay đổi mọi thứ chỉ vì Bob Martin đã nói như vậy. Nhưng phát triển phần mềm thực sự thay đổi rất nhiều mặc dù nhiều năm và nhiều thực hành mới nổi lên để cải thiện biểu thức mã.Có lẽ chúng ta không nên viết phần mềm sử dụng các tiêu chuẩn cũ như vậy nữa. –

Các vấn đề liên quan