Tôi đang viết một ứng dụng bình và tôi thấy rằng mình có rất nhiều chức năng tiện ích chung.Python - Vị trí tốt nhất cho các chức năng chung
Sau đây là các ví dụ về các loại chức năng mà tôi xem xét các chức năng tiện ích chung:
def make_hash():
return defaultdict(make_hash)
def file_read(filename):
with open(file_name_, 'r') as f:
return f.read()
def file_write(filename, data):
with open(filename, 'w') as f:
f.write(data)
Tôi đã nghĩ đến việc tung các chức năng này thành một mô-đun riêng biệt tất cả cùng nhau. Tuy nhiên, tôi tò mò nếu tôi có các mối quan tâm sau:
- Có hai chức năng duy nhất để đảm bảo một mô-đun riêng biệt cùng nhau. tức là các hàm file_read và file_write ở trên có thể đi vào một mô-đun file.py, tuy nhiên kể từ hai hàm của nó, tôi cảm thấy như thế này có thể là quá mức cần thiết.
- Trong ứng dụng của tôi, tôi sử dụng các chức năng này 2-3 lần cho mỗi chức năng vì vậy tôi di chuyển dưới vỏ bọc họ tạo ra các chức năng tiện ích này sẽ giúp tôi tiết kiệm một số dòng mã, và hy vọng là làm cho tôi hiệu quả hơn.
Câu hỏi: - Điều gì sẽ là cách thức phân nhóm hỗn hợp các chức năng tiện ích chung? Tôi có nên tạo một mô-đun riêng biệt không? Tò mò những gì người khác đang làm để tổ chức loại mã này.
Điều này có ý nghĩa. Tôi đã miễn cưỡng để đưa điều này trong một lớp học chỉ vì tôi có (có thể là một không chính xác) khái niệm trước khi thụ thai chỉ tạo ra các lớp học cho các ứng dụng cụ thể các mặt hàng. Tuy nhiên, tôi nghĩ rằng tôi sẽ tạo một kết hợp bằng cách sử dụng giải pháp mà bạn đã cung cấp ở trên .. tức là gói tiện ích với mô-đun/tệp từ điển. Việc nhóm bạn cung cấp ở trên dường như có vẻ phù hợp với tôi và như bạn đã nói, tôi có thể phát triển các mô-đun này khi tôi tạo các hàm chung chung hơn và tôi có thể chuyển các chức năng này xung quanh. Ngoài ra, tôi sẽ rất có thể làm cho những độc lập của ứng dụng. Cảm ơn vì bạn đã phản hồi. – user2152283
Tại sao "các lớp" và "static_methods"? Python không phải là Java, khi tất cả những gì bạn cần là một hàm thì tất cả các phương tiện đều sử dụng một hàm. –
@ user2152283 Có tốt nhất là làm cho ứng dụng độc lập, nó giúp bạn tiết kiệm công việc cho mọi dự án trong tương lai mà bạn đang sử dụng chức năng được tạo. –