पहली बार अजगर के साथ काम करने में, मैंने पाया है कि मैं एक ही फ़ाइल में कई कक्षाएं लिख रहा हूं, जो जावा जैसी अन्य भाषाओं के विरोध में है, जो प्रति वर्ग एक फ़ाइल का उपयोग करती है।
आमतौर पर, ये वर्ग 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))
जैसा कि ऊपर देखा गया है, मेरे पास एक लॉगर बेस क्लास है, जिसमें कार्यान्वयन के कुछ अंतर नीचे दिए गए हैं।
प्रश्न: क्या यह मानक अजगर के लिए है, या किसी भी भाषा के लिए? इस कार्यान्वयन का उपयोग करने से क्या समस्याएं पैदा हो सकती हैं यदि कोई हो?
संपादित करें: मैं वास्तव में इस विशिष्ट फ़ाइल पर मार्गदर्शन की तलाश में नहीं हूं , लेकिन अधिक सामान्य अर्थों में। क्या होगा यदि कक्षाएं 3-5 मामूली जटिल तरीकों से समाप्त हो गईं? यह तो उन्हें विभाजित करने के लिए समझ में आता है? यह कहने के लिए कटऑफ कहां है कि आपको फ़ाइल को विभाजित करना चाहिए?