Các quy tắc ngón tay cái cho định nghĩa một class đơn giản
Chúng ta kết luận phần này bằng cách liệt kê một vài nguyên tắc ngón tay cái cho thiết kế và thực thi một class
đơn giản:
1. Trước khi viết một dòng code, nghĩ về hành vi và các thuộc tính của các objects của class mới. Các hành động
gì làm một thực hiện object, và như thế nào từ quan điểm bên ngoài của một người dùng, làm các hành động này truy
cập hay điều chỉnh trạng thái của object?
2. Chọn tên class phù hợp và phát triển một danh sách ngắn các phương thức có sẵn đối với người dùng. Giao diện
này nên bao gồm các tên phương thức và tham số hợp lí, cũng như mô tả ngắn về cái phương thức làm. Tránh mô tả
các phương thức thực hiện các nhiệm vụ của chúng như thế nào.
3. Viết một script ngắn cái có vẻ như sử dụng class mới theo một cách phù hợp. Script nên khởi tạo thực thể class
và chạy tất cả các phương thức của nó. Tất nhiên, bạn sẽ không thể thực thi script này cho đến khi bạn đã hoàn
thành một vài bước tiếp theo, nhưng nó sẽ giúp làm rõ giao diện của class của bạn và phục vụ như một test bed ban
đầu cho nó.
4. Chọn các cấu trúc dữ liệu phù hợp để trình bày các thuộc tính của class. Những cái này sẽ hoặc là các dạng tích
hợp như các số nguyên, strings và lists hay các classes lập trình viên định nghĩa.
5. Điền vào mẫu class với một constructor (một phương thức _init_) và một phương thức _str_. Nhớ rằng constructor
khởi tạo thực thể các biến thực thể của một object, trong khi _str_ xây dựng một string từ thông tin này. Ngay sau
khi bạn đã định nghĩa 2 phương thức này, bạn có thể test class của bạn bằng cách khởi tạo thực thể nó và in ra object
kết quả.
6. Hoàn thành và test các phương thức còn lại từng cái một, làm việc theo phong cách đáy lên trên. Nếu một phương
thức phụ thuộc vào cái khác, hoàn thành phương thức thứ hai trước.
7. Nhớ viết tài liệu hướng dẫn cho code của bạn. Bao gồm một docstring cho module, class và mỗi phương thức. Không
thêm các docstrings như một ý nghĩ sau cùng. Viết chúng ngay sau khi bạn viết một class header hay một header phương
thức. Đảm bảo thẩm định các kết quả bằng cách chạy help với tên class.
