Dalam bekerja dengan python untuk pertama kalinya, saya menemukan bahwa saya akhirnya menulis beberapa kelas dalam file yang sama, yang bertentangan dengan bahasa lain seperti Java, yang menggunakan satu file per kelas.
Biasanya, kelas-kelas ini terdiri dari 1 kelas dasar abstrak, dengan 1-2 implementasi konkret yang penggunaannya sedikit berbeda. Saya telah memposting satu file seperti di bawah ini:
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))
Seperti yang terlihat di atas, saya memiliki kelas dasar Logger, dengan beberapa perbedaan implementasi di bawahnya.
Pertanyaan: Apakah standar ini untuk python, atau untuk bahasa apa pun? Masalah apa yang bisa timbul dari penggunaan implementasi ini jika ada?
EDIT: Saya tidak benar-benar mencari panduan tentang file spesifik ini , tetapi dalam pengertian yang lebih umum. Bagaimana jika kelas berakhir menjadi 3-5 metode yang cukup kompleks? Apakah masuk akal untuk membaginya? Di mana cutoff untuk mengatakan Anda harus membagi file?