Tôi đang dọn sạch mã Cocoa cũ để sử dụng các quy ước đặt tên hiện đại. Đã có rất nhiều cuộc thảo luận về thực tiễn tốt nhất, nhưng tôi không chắc chắn về một điều.Thực tiễn tốt nhất cho các quy ước đặt tên cho loại ca cao
Tôi đang suy nghĩ về việc thêm tiền tố vào tên phương thức danh mục, để đảm bảo tính duy nhất. Dường như nói chung đồng ý rằng đây là một ý tưởng hay, mặc dù hầu hết mọi người có lẽ không bận tâm.
Câu hỏi của tôi là: phương pháp loại NSDictionary
như -copyDeep
có bản sao sâu? Phương pháp được sử dụng để được đặt tên là -deepCopy
, nhưng tôi đã đảo ngược các từ khi trình phân tích tìm kiếm tiền tố của "bản sao". Vì vậy, tôi có lẽ không thể thêm tiền tố. Và có "tiền tố" ở giữa hoặc cuối của tên phương thức có vẻ lộn xộn và không nhất quán.
Tôi cũng muốn quan tâm đến suy nghĩ về kiểu tiền tố - Tôi hiện đang sử dụng DS
(đối với Hệ thống Dejal) cho tiền tố lớp. Nhưng tôi biết rằng bây giờ Apple muốn đặt trước tất cả tiền tố hai ký tự cho chính họ, vì vậy tôi đang nghĩ đến việc sử dụng Dejal
, ví dụ: lớp học của tôi DSManagedObject
sẽ được đổi tên thành DejalManagedObject
. Và quay trở lại danh mục, phương pháp của họ sẽ được đổi tên để thêm tiền tố dejal
, ví dụ: từ -substringFromString:
đến -dejalSubstringFromString:
. Nhưng -dejalCopyDeep
sẽ gây nhầm lẫn cho máy phân tích, vì vậy có thể tôi sẽ không nhất quán với các phương pháp như vậy và sử dụng -copyDeepDejal
hoặc -copyDeep_dejal
?
Tôi sẽ phát hành lại các danh mục của mình và các lớp khác nhau dưới dạng nguồn mở khi tôi đã làm sạch chúng, vì vậy việc tuân theo các quy ước mới nhất sẽ mang lại lợi ích.
câu hỏi hay! Tôi tò mò về cách bạn nói táo muốn dự trữ tiền tố hai char - tôi chỉ tự hỏi bạn có thông tin đó từ đâu? khi bạn tạo các dự án mới, nó đề xuất một tiền tố 3 char, nhưng đã có một tuyên bố chính thức về nó? –
Tôi không thể tìm thấy tài liệu chính thức nêu rõ điều đó, nhưng tôi tin rằng nó đã được đề cập trong một phiên [WWDC10 về tương lai] [https://deimos.apple.com/WebObjects/Core.woa/BrowsePrivately/adc. apple.com.4092349126.04109539109.4144345635? i = 2082492890). – Dejal
Xem lại câu hỏi cũ này, tôi đã tìm thấy tài liệu về đề xuất tiền tố 3-char, trên [Lập trình với mục tiêu-C: Quy ước] (https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC /Conventions/Conventions.html). – Dejal