Lớp Python trong tệp riêng
Tất cả các lớp này đều có sẵn trong mô-đun Show
Có một số vấn đề ở đây mà tôi tin rằng làm cho
Bạn có bị ngăn cản việc chia các nhóm lớp thành các mô-đun khác nhau khi bạn thấy điều đó là mong muốn từ góc độ tổ chức và không gian tên không?Không Từ Zen of Python , phản ánh triết lý và nguyên tắc mà nó đã phát triển và phát triển
Nhưng chúng ta hãy nhớ rằng nó cũng nói
Python cực kỳ rõ ràng và dễ đọc. Nó khuyến khích bạn đọc nó. Đặt mỗi lớp riêng biệt trong một tệp riêng biệt không khuyến khích đọc. Điều này đi ngược lại triết lý cốt lõi của Python. Nhìn vào cấu trúc của Thư viện tiêu chuẩn, phần lớn các mô-đun là mô-đun tệp đơn, không phải gói. Tôi muốn trình bày với bạn rằng mã Python thành ngữ được viết theo cùng kiểu với lib tiêu chuẩn của CPython Đây là mã thực tế từ mô-đun lớp cơ sở trừu tượng. Tôi thích sử dụng nó như một tài liệu tham khảo để biểu thị các loại trừu tượng khác nhau trong ngôn ngữ Bạn có nói rằng mỗi lớp này nên yêu cầu một tệp riêng không?
Vì vậy, mỗi người nên có tập tin riêng của họ? tôi hy vọng không Các tệp này không chỉ là mã - chúng là tài liệu về ngữ nghĩa của Python Chúng có thể trung bình từ 10 đến 20 dòng. Tại sao tôi phải vào một tệp hoàn toàn riêng biệt để xem 10 dòng mã khác? . Hơn nữa, sẽ có các bản nhập soạn sẵn gần như giống hệt nhau trên mỗi tệp, thêm nhiều dòng mã dự phòng hơn Tôi thấy khá hữu ích khi biết rằng có một mô-đun duy nhất nơi tôi có thể tìm thấy tất cả các Lớp Cơ sở Trừu tượng này, thay vì phải xem qua danh sách các mô-đun. Xem chúng trong ngữ cảnh với nhau cho phép tôi hiểu rõ hơn về chúng. Khi tôi thấy một Iterator là một Iterable, tôi có thể nhanh chóng xem lại Iterable bao gồm những gì bằng cách liếc lên Đôi khi tôi có một vài lớp học rất ngắn. Chúng ở trong tệp, ngay cả khi chúng cần phát triển lớn hơn theo thời gian. Đôi khi các mô-đun trưởng thành có hơn 1000 dòng mã. Nhưng ctrl-f rất dễ dàng và một số IDE giúp dễ dàng xem các đường viền của tệp - vì vậy, bất kể tệp lớn đến đâu, bạn có thể nhanh chóng chuyển đến bất kỳ đối tượng hoặc phương thức nào mà bạn đang tìm kiếm Phần kết luậnHướng của tôi, trong ngữ cảnh của Python, là thích giữ các định nghĩa lớp có liên quan và giống nhau về mặt ngữ nghĩa trong cùng một tệp. Nếu tệp phát triển quá lớn đến mức trở nên khó sử dụng, thì hãy xem xét tổ chức lại Tôi có nên đặt các lớp trong các tệp Python riêng biệt không?Python cực kỳ rõ ràng và dễ đọc. Nó khuyến khích bạn đọc nó. Đặt mỗi lớp riêng biệt vào một tệp riêng biệt không khuyến khích việc đọc . Điều này đi ngược lại triết lý cốt lõi của Python.
Các lớp có nên là các tệp riêng biệt không?Bạn nên làm như vậy . Bạn có thể dễ dàng tìm thấy lớp nếu bạn đặt tên tệp sau lớp.
Bạn có thể có nhiều lớp Python trong một tệp không?Mọi thứ trong thư viện Python và các ứng dụng Python khác đều là mô-đun hoặc gói mô-đun. Không có giới hạn về số lượng lớp mà một người có thể đặt trong một tệp hoặc một mô-đun .
Python có phải là một lớp trên mỗi tệp không?Trong Python có quy tắc một mô-đun=một tệp. Trong Python nếu bạn giới hạn bản thân ở một lớp trên mỗi tệp (điều này không bị cấm trong Python), bạn có thể nhận được một số lượng lớn tệp nhỏ – không dễ theo dõi. Vì vậy, tùy thuộc vào tình huống và sự thuận tiện người ta có thể có một hoặc nhiều lớp cho mỗi tệp trong Python . |