Khi làm việc với python lần đầu tiên, tôi đã thấy rằng cuối cùng tôi đã viết nhiều lớp trong cùng một tệp, trái ngược với các ngôn ngữ khác như Java, sử dụng một tệp cho mỗi lớp.
Thông thường, các lớp này được tạo thành từ 1 lớp cơ sở trừu tượng, với 1-2 triển khai cụ thể mà việc sử dụng của chúng thay đổi đôi chút. Tôi đã đăng một tập tin như vậy dưới đây:
class Logger(object):
def __init__(self, path, fileName):
self.logFile = open(path + '/' + filename, 'w+')
self.logFile.seek(0, 2)
def log(self, stringtoLog):
self.logFile.write(stringToLog)
def __del__(self):
self.logFile.close()
class TestLogger(Logger):
def __init__(self, serialNumber):
Logger.__init__('/tests/ModuleName', serialNumber):
def readStatusLine(self):
self.logFile.seek(0,0)
statusLine = self.logFile.readLine()
self.logFile.seek(0,2)
return StatusLine
def modifyStatusLine(self, newStatusLine):
self.logFile.seek(0,0)
self.logFile.write(newStatusLine)
self.logFile.seek(0,2)
class GenericLogger(Logger):
def __init__(self, fileName):
Logger.__init__('/tests/GPIO', fileName):
def logGPIOError(self, errorCode):
self.logFile.write(str(errorCode))
Như đã thấy ở trên, tôi có một lớp cơ sở Logger, với một vài khác biệt thực hiện bên dưới.
Câu hỏi: Đây là tiêu chuẩn cho python, hay cho bất kỳ ngôn ngữ nào? Những vấn đề có thể phát sinh từ việc sử dụng thực hiện này nếu có?
EDIT: Tôi không thực sự tìm kiếm hướng dẫn về tập tin cụ thể này , nhưng theo nghĩa chung hơn. Điều gì xảy ra nếu các lớp học kết thúc là 3-5 phương thức phức tạp vừa phải? Nó sẽ có ý nghĩa để phân chia chúng sau đó? Điểm cắt ở đâu để nói rằng bạn nên chia một tập tin?