ในการทำงานกับ python เป็นครั้งแรกฉันพบว่าฉันเขียนหลายคลาสในไฟล์เดียวกันซึ่งตรงข้ามกับภาษาอื่นเช่น Java ซึ่งใช้หนึ่งไฟล์ต่อหนึ่งคลาส
โดยปกติแล้วคลาสเหล่านี้จะประกอบไปด้วยคลาสฐานนามธรรม 1 ชุดโดยมีการใช้งานอย่างเป็นรูปธรรม 1-2 รายการซึ่งการใช้งานแตกต่างกันเล็กน้อย ฉันโพสต์ไฟล์ดังกล่าวหนึ่งไฟล์ด้านล่าง:
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))
ดังที่เห็นด้านบนฉันมีคลาสฐาน Logger ที่มีความแตกต่างของการใช้งานสองด้านล่าง
คำถาม: เป็นมาตรฐานสำหรับงูใหญ่หรือภาษาใด ๆ ? ปัญหาใดที่อาจเกิดขึ้นจากการใช้การดำเนินการนี้ถ้ามี?
แก้ไข:ฉันไม่ได้มองหาคำแนะนำเกี่ยวกับไฟล์นี้โดยเฉพาะแต่ในแง่ทั่วไปมากขึ้น จะเกิดอะไรขึ้นถ้าชั้นเรียนมีวิธีการที่ซับซ้อนปานกลาง 3-5 วิธี? มันจะสมเหตุสมผลไหมที่จะแยกพวกเขาออกมา? ทางลัดที่บอกว่าคุณควรแยกไฟล์เป็นอย่างไร