Bei der ersten Arbeit mit Python habe ich festgestellt, dass ich am Ende mehrere Klassen in derselben Datei schreibe. Dies steht im Gegensatz zu anderen Sprachen wie Java, das eine Datei pro Klasse verwendet.
Normalerweise bestehen diese Klassen aus 1 abstrakten Basisklasse mit 1-2 konkreten Implementierungen, deren Verwendung geringfügig variiert. Ich habe unten eine solche Datei gepostet:
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))
Wie oben gezeigt, habe ich eine Logger-Basisklasse mit ein paar Implementierungsunterschieden darunter.
Die Frage: Ist dieser Standard für Python oder für irgendeine Sprache? Welche Probleme können bei der Verwendung dieser Implementierung auftreten?
EDIT: Ich bin nicht wirklich auf der Suche nach Anleitungen zu dieser spezifischen Datei, sondern in einem allgemeineren Sinne. Was wäre, wenn die Klassen 3-5 mäßig komplexe Methoden wären? Wäre es dann sinnvoll, sie aufzuteilen? Wo ist die Grenze dafür, dass Sie eine Datei aufteilen sollten?