2015-01-15 14 views
8

Tôi đọc PEP 8 để biết liệu (một tưởng tượng) tôi tạo một đối tượng có tên như __foo__ là một ý hay hay không. PEP 8 nói điều này về __double_leading_and_trailing_underscore__:"Không bao giờ phát minh ra tên như vậy, chỉ sử dụng chúng như được ghi lại." Người nào?

Không bao giờ phát minh ra tên như vậy; chỉ sử dụng chúng như được ghi lại.

Câu hỏi của tôi là: ai?

Tôi là một lập trình viên. Tôi viết một API cho các lập trình viên khác. Python được thực hiện bởi các lập trình viên. Tham khảo ngôn ngữ cho việc thực hiện được viết bởi các lập trình viên hoặc ít nhất là các lập trình viên cũ, và các lập trình viên sử dụng API của tôi sẽ viết một cái gì đó có thể hoặc không thể được sử dụng bởi các lập trình viên khác.

Bây giờ điều này được mở ra, lập trình viên nào nói PEP 8 khi họ nói, "Không bao giờ phát minh ra tên như vậy"?

Ai đó rõ ràng được khuyến khích phát minh ra những tên như vậy, vì chúng tồn tại, trong khi những người khác không được mời làm như vậy.

Nhóm lập trình nào nên "Không bao giờ phát minh ra tên như vậy"?

Trả lời

11

Bạn đang nản lòng từ việc sử dụng tên như vậy trong API của bạn, có, bởi vì nếu và khi phát triển cốt lõi Python chọn tên tương tự cho Python bản thân, bạn sẽ bị thua thiệt, API của bạn có thể phá vỡ. Vì vậy, nếu bạn không phải là nhà phát triển lõi Python hoặc viết PEP có thể là một ngày trở thành một phần của thư viện chuẩn của Python hoặc định nghĩa ngôn ngữ cốt lõi, hãy cố tránh xa việc sử dụng tên dunder trong API của bạn.

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