Cho đến nay tôi đã chỉ phát triển các tập lệnh Python nhỏ. Chúng không dài quá 500 dòng trên mỗi dòng. Bây giờ tôi sẽ viết một cái gì đó lớn hơn - Tôi nghĩ nó sẽ có khoảng 1000 dòng. Ý tưởng hay là xử lý nó trong một tệp hoặc là thời điểm tốt để sắp xếp mã trong các thư mục con? Tôi tìm thấy một số lời khuyên về cách modularize mã, nhưng tôi không thể tìm thấy bất kỳ thông tin về khi nào để làm điều đó (hoặc đúng hơn là khi nó không phải là lãng phí thời gian).Khi nào để chia mã thành các tệp/mô-đun?
Trả lời
Tôi thường làm điều đó trong những trường hợp:
- Bạn có thể chạy các bộ phận của ứng dụng trên thir riêng và chạy chúng sẽ có ích (để họ có thể được tái sử dụng)
- Một phần của ứng dụng là trừu tượng và phần còn lại là bê tông (Các phần trừu tượng có thể được sử dụng lại)
- Tôi muốn chia thành 'plugins'
- Một tập lệnh đơn lẻ sẽ to lớn (sau đó tôi phân chia ví dụ theo lớp hoặc đặt các phần tách thành một phần riêng biệt tập tin).
Nói chung, tôi cố gắng sử dụng lại. Nếu tôi không thể chia nó thành các phần có thể tái sử dụng, tôi không phân chia ngoại trừ nó sẽ quá lớn.
+1, câu trả lời hay. chỉ unittests _always_ thuộc về tệp imho của riêng chúng. – mata
Và bạn có ý nghĩa gì bởi "to lớn"? 1000 dòng có đủ không? – ciembor
@ciembor - Tôi nghĩ "cực kỳ lớn" khá nhiều chỉ có nghĩa là "đủ lớn để nó gây khó chịu cho bạn để điều hướng", tùy thuộc vào sở thích cá nhân. Đối với tôi, số lượng dòng không thực sự là thước đo tốt, vì tôi vẫn giữ mọi thứ được gấp lại, nhưng nếu một tệp kết thúc bằng, hơn 15-20 lớp/chức năng cấp cao nhất, tôi bắt đầu cân nhắc việc chia nhỏ nó. – weronika
- 1. Quy tắc vàng khi nào để chia mã thành các hàm?
- 2. Chia URL thành các thành phần
- 3. lua chia thành các từ
- 4. Chia GIF thành các khung
- 5. Tôi làm cách nào để chia mã Lisp thành nhiều tệp nguồn?
- 6. Google App Engine - Làm cách nào để chia mã thành nhiều tệp? (webapp)
- 7. Dán mã Mathematica để nó được chia thành các ô nhập riêng biệt
- 8. Chia từ điển thành các biến
- 9. Chia hình ảnh thành các đoạn
- 10. Mã định dạng lại chia sẻ thành một dòng
- 11. cách tốt nhất để tạo/chia chuỗi thành các thẻ
- 12. Tôi làm cách nào để ẩn Khóa API Google Maps khi chia sẻ mã trên github?
- 13. Cách chia NSString dài thành các trang
- 14. Làm cách nào để chia câu thành các từ được phân tách bằng nhiều khoảng trắng?
- 15. Chia Pdf thành các trang để hiển thị trên UIPageViewController
- 16. iPhone & Ipad - làm cách nào để tôi chia nhỏ mã?
- 17. Làm cách nào để chia các dòng mã dài bằng C++?
- 18. Làm cách nào để viết mã để chia sẻ các mảng trong android?
- 19. Chia thùng chứa thành các khối, C++
- 20. chia mảng thành các phần nhỏ hơn
- 21. Phân chia/xung đột RegExp trong khi mã hóa Javascript
- 22. Làm thế nào để chia sẻ các hằng số giữa Interface Builder và mã?
- 23. Làm cách nào để chia dự án của bạn thành các ứng dụng trong Django?
- 24. Làm cách nào để chia nhỏ tài liệu HTML thành các trang dành cho ebook?
- 25. Tại sao các biến thành viên không được chia sẻ?
- 26. Chia NSString thành Array
- 27. Làm thế nào để phân chia một ma trận thành bằng các phần?
- 28. Làm cách nào để chia một cụm từ thành các từ bằng Regex trong C#
- 29. C: làm cách nào để chia nhỏ số nhiều chữ số thành các biến riêng biệt?
- 30. Chia td thành hai số
Tôi thường chọn không tách mối quan tâm. Nhận các tác vụ tương tự với nhau, như tìm nạp dữ liệu từ db, thực hiện các hoạt động ngày tháng. Làm cho những thứ chung này đủ để sử dụng trong dự án tiếp theo của bạn. – Sujoy