2014-12-14 3 views
19

मैं अपने अजगर कोड की जाँच करने के pylint इस्तेमाल किया, और इस सम्मेलन समस्या पाया द्वारा पाया:अजगर कोडन सम्मेलन "ब्लॉक से पहले गलत निरंतर खरोज: pylint

C:11, 0: Wrong continued indentation before block. 
        + this_time <= self.max): 
        ^ | (bad-continuation) 

मैं समय के लिए परिष्कृत करने के लिए कोशिश की, लेकिन समस्या अभी भी मौजूद है , किसी की मदद कर सकते हैं धन्यवाद

if len(remaining_obj_list) > 0: 
    for i in a_list: 
     this_time = self.__get_time(i) 
     for remaining_obj in remaining_obj_list: 
      if (remaining_obj.get_time() # to fit 78 char rule 
       + this_time <= self.max): 
       i.append(remaining_obj) 
       remaining_obj.set_used(True) 
     if 0 == len(self.__get_unused_list): 
      break 

उत्तर

25

पिलिंट अगले इंडेंटेशन ब्लॉक के समान कॉलम पर ऐसी निरंतरता शुरू नहीं करना चाहता है। साथ ही, ध्यान दें कि संदेश में स्तंभों पर एक संकेत शामिल है जो इसे सही मानता है।

+13

मुझे कभी एहसास नहीं हुआ कि ऊर्ध्वाधर पट्टी उस संकेत के रूप में स्थित है जहां यह इंडेंटेशन चाहता है हो। – DreadPirateShawn

3

पिछले लाइन पर + डालने का प्रयास करें:?!

 if (remaining_obj.get_time() + 
      this_time <= self.max): 

हालांकि एक साइड नोट के रूप में, हो सकता है कि आप उन कारकों पर विचार करना चाहें जो आपके कोड को ~ 40 अक्षरों के भीतर फिट कर रहे हैं - शायद आपके पास बहुत अधिक इंडेंटेशन स्तर हैं और आपके कोड को कम घोंसले वाले ब्लॉक के लिए दोबारा प्रतिक्रिया दी जा सकती है।

2

PEP8 के अनुसार: "बाइनरी ऑपरेटर के आसपास तोड़ने के लिए पसंदीदा स्थान ऑपरेटर के बाद है, इससे पहले नहीं।"

उस प्लस को पिछली पंक्ति में साइन अप करने का प्रयास करें।

+8

पीईपी 8 ने इस सिफारिश को बदल दिया, पसंदीदा तरीका अब ऑपरेटर से पहले * तोड़ने के लिए है। – flornquake

+0

यह उत्तर संपादित किया जाना चाहिए क्योंकि यह गलत जानकारी प्रदर्शित करता है – winklerrr

+0

@flornquake * Ewwwww *। (असल में, मुझे यकीन नहीं है कि कौन सा "बेहतर" है। या तो परिदृश्य के आधार पर अधिक सौंदर्यपूर्ण रूप से सुखदायक या पठनीय हो सकता है ...) –

संबंधित मुद्दे