পিইপি 8 এর ই 128 কী: ভিজ্যুয়াল ইনডেন্টের জন্য ধারাবাহিকতা রেখাটি অন্তর্নিহিত?


298

সব্লাইম টেক্সট (সাবলাইম লিন্টার সহ) দিয়ে সবেমাত্র একটি ফাইল খোলা হয়েছে এবং এমন একটি পিইপি 8 ফর্ম্যাটিং ত্রুটি লক্ষ্য করেছে যা আমি এর আগে কখনও দেখিনি। এখানে লেখাটি:

urlpatterns = patterns('',
    url(r'^$', listing, name='investment-listing'),
)

এটি দ্বিতীয় যুক্তি, যে লাইনটি শুরু হয়েছিল তা পতাকাঙ্কিত করছে url(...)

আমি এসটি 2 এ এই চেকটি অক্ষম করতে যাচ্ছিলাম তবে আমি এটিকে উপেক্ষা করার আগে আমি কী ভুল করছি তা জানতে চাই । আপনি কখনই জানেন না, যদি এটি গুরুত্বপূর্ণ মনে হয় তবে আমি আমার উপায়গুলিও পরিবর্তন করতে পারি :)

উত্তর:


475

পিইপি -8 আপনাকে প্রথম লাইনে কোনও কিছু রাখলে খোলার বন্ধনীগুলিতে আপনাকে ইনডেন্ট লাইন প্রস্তাব দেয়, তাই এটি হয় উদ্বোধনী বন্ধনীতে ইনডেন্টিং করা উচিত:

urlpatterns = patterns('',
                       url(r'^$', listing, name='investment-listing'))

বা প্রারম্ভিক লাইনে কোনও যুক্তি না দেওয়া, তারপরে একটি অভিন্ন স্তরে ইনডেন্ট করা:

urlpatterns = patterns(
    '',
    url(r'^$', listing, name='investment-listing'),
)

urlpatterns = patterns(
    '', url(r'^$', listing, name='investment-listing'))

আমি পিইপি -8 এর মাধ্যমে পড়ার পরামর্শ দিচ্ছি - আপনি এটির প্রচুর পরিমাণে স্কিম করতে পারেন এবং আরও কিছু প্রযুক্তিগত পিইপিগুলির মতো এটি বোঝা বেশ সহজ pretty


5
জ্যাঙ্গো কেন এটি করে তা যে কেউ জানে; একটি ভাল কারণ আছে? মনে হচ্ছে এটি পিইপি -8 অনুসরণ করা ঠিক তত সহজ হবে।
TheHerk

6
এটি আমি দেখেছি জ্যাঙ্গো কোডে এতটা সর্বব্যাপী (এটি সমস্ত তাদের ডক্সের মধ্যে রয়েছে) এটি যুক্তিযুক্তভাবে পিইপি -8 কে ছাড়িয়ে যায়, সর্বোপরি বলা হয়েছে " অনেক প্রকল্পের নিজস্ব কোডিং শৈলীর নির্দেশিকা রয়েছে। কোনও বিরোধের ক্ষেত্রে, এই জাতীয় প্রকল্প -প্রশাসিত নির্দেশিকাগুলি সেই প্রকল্পের জন্য অগ্রাধিকার গ্রহণ করে ""
নিক টি

6
@ হর্কের যুক্তিটি সম্ভবত সম্ভবত প্রথম যুক্তিটি patterns()অনন্য (নির্দিষ্ট করে দেওয়া সমস্ত কিছুর জন্য একটি উপসর্গ), এবং অন্যান্য সমস্ত যুক্তি url নিদর্শন যা মূলত একই।
নিক টি

6
@ নিকট আপনি পিইপি -8 ভুলভাবে পড়ছেন - পিইপি -8 বিদ্যমান কনভেনশন অনুসরণ করার প্রস্তাব দেয় যেখানে কোনও প্রদত্ত প্রকল্প এটি ব্যবহার করে - তবে এই ক্ষেত্রে কোডটি জাঙ্গোতে যাচ্ছে না, এটি জাঙ্গো ব্যবহার করে আপনার প্রকল্পে চলেছে - কোনও প্রয়োজন নেই তাদের সম্মেলন অনুসরণ করুন। এই নিয়মের উদ্দেশ্য কোড-বেসগুলির মধ্যে ধারাবাহিকতা রাখা।
গ্যারেথ লেটি

25
নোট করুন যে পিইপি 8 এও বলেছে যে আপনাকে পিইপি 8 উপেক্ষা করা উচিত যেখানে এটি করার জন্য এটি বোধগম্য হয় এবং আমি যুক্তি দিয়ে বলব যে এই ক্ষেত্রে এটি অর্থবোধে রয়েছে। আপনার নিজের প্রকল্পের জন্য নির্দ্বিধায় নির্দ্বিধায়। যাই হোক না কেন এটি শীঘ্রই একটি মূল বিষয় patterns()হবে কারণ ব্যবহারটি জাঙ্গো
টম ক্যারিক

13

এটি এর মতো বিবৃতিগুলির জন্যও যায় (পাইচর্ম দ্বারা স্বয়ংক্রিয়ভাবে ফর্ম্যাট করা):

    return combine_sample_generators(sample_generators['train']), \
           combine_sample_generators(sample_generators['dev']), \
           combine_sample_generators(sample_generators['test'])

যা একই স্টাইল-সতর্কতা দেবে। এ থেকে মুক্তি পাওয়ার জন্য আমাকে এটিকে আবার লিখতে হয়েছিল:

    return \
        combine_sample_generators(sample_generators['train']), \
        combine_sample_generators(sample_generators['dev']), \
        combine_sample_generators(sample_generators['test'])

2
আমি এখানে ব্যাকস্ল্যাশের চেয়ে প্রথম বন্ধনী পছন্দ করি, প্রথম লাইন হ'ল return (, তারপরে প্রতিটি নিজস্ব ফেরতযোগ্য আইটেম, ইন্টেন্টেড এবং অবশেষে পৃথক লাইনে সমাপ্ত বন্ধনীটি একই ইনডেন্টেশন স্তরে returnসম্পাদনা করুন: এই পেস্টবিন.
com/fAe7558X

1
@ মারকাসমেস্কেনেন হ্যাঁ, আমিও। আমি কেবল এটি উল্লেখ করতে চেয়েছিলাম যে এমনকি অটো-ফর্ম্যাটও এই স্পেসিফিকেশনটির সাথে পুরোপুরি সম্মতি দেয় না।
displayname
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.