কোনও ওপেন সোর্স প্রকল্পে কোডিং শৈলীর পরিবর্তন করা ভাল যা সেরা অনুশীলনগুলি অনুসরণ করে না?


38

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

এখন, এই অপরাধের অধিকাংশ, একক উদ্ধৃতি (যখন ক্ষেপক নয়) পরিবর্তে ডবল উদ্ধৃতি চিহ্ন ব্যবহার অনুসরণ করছেন না স্তর নিয়ম প্রতি 2 শূণ্যস্থান, 80 অক্ষর লাইন দৈর্ঘ্য নিয়ম মাত্রাধিক, অথবা ব্যবহার অন্তর্ভুক্ত {এবং }বহু-লাইন ব্লক জন্য।

[দ্য] রুবি স্টাইল গাইড সেরা অনুশীলনগুলির পরামর্শ দেয় যাতে রিয়েল-ওয়ার্ল্ড রুবি প্রোগ্রামাররা কোড লিখতে পারে যা অন্যান্য বাস্তব-বিশ্বের রুবি প্রোগ্রামারদের দ্বারা বজায় রাখা যায়। ~ সূত্র: রুবি স্টাইল গাইড

যদিও এগুলি ছোট এবং সংশোধন করা সহজ, তবে অপরাধগুলি সমাধান করে এবং একটি পুল অনুরোধ করে কোনও ওপেন সোর্স প্রকল্পের কোডিং স্টাইলটি পরিবর্তন করা কি উপযুক্ত? আমি স্বীকার করি যে কিছু প্রকল্প, যেমন রেলগুলি, প্রসাধনী পরিবর্তনগুলি গ্রহণ করে না এবং কিছুগুলি একবারে "ফিক্স" করতে খুব বড় হয় (উদাহরণস্বরূপ রেলগুলি ৮০০০ এর বেশি অপরাধ জেনারেট করে যখন রুবোকপ চালানো হয় - নির্বিশেষে, তাদের নিজস্ব কোডিংয়ের ছোট সেট রয়েছে) নিয়মাবলী যখন অবদান অনুসরণ করতে)। সর্বোপরি, রুবি স্টাইল গাইডটি কোনও কারণে রুবোকপের মতো সরঞ্জামগুলির সাথে রয়েছে।

লোকেরা ধারাবাহিকতার প্রশংসা করে তাই এই ধরণের পরিবর্তনগুলি করা সাধারণত রুবি সম্প্রদায়ের জন্য একটি ভাল কাজ করা ঠিক তাইনা?

[রুবি স্টাইল গাইডের লেখক) কোথাও থেকে সমস্ত বিধি নিয়ে আসেনি - এগুলি বেশিরভাগই পেশাদার সফটওয়্যার ইঞ্জিনিয়ার হিসাবে আমার বিস্তৃত ক্যারিয়ারের উপর ভিত্তি করে, রুবি সম্প্রদায়ের সদস্যদের মতামত এবং পরামর্শ এবং বিভিন্ন সম্পর্কিত রুবি প্রোগ্রামিং সংস্থান যেমন "প্রোগ্রামিং রুবি ১.৯" এবং "দ্য রুবি প্রোগ্রামিং ল্যাঙ্গুয়েজ" হিসাবে অত্যন্ত সম্মানিত। ~ সূত্র: রুবি স্টাইল গাইড

মূলত খারাপ অভ্যাসগুলিকে উত্সাহিত করে কি কমিউনিটি কোডিং স্টাইলের সম্মেলনগুলি এবং সেরা অনুশীলনগুলি অনুসরণ করে না?


3
অনুরূপ প্রশ্ন: আমি কোড জলবায়ু থেকে একটি এফ বর্গ রিফ্যাক্টর করা উচিত? , তবে আর্কিটেকচারে আরও ফোকাস সহ।
আমন


5
এই স্টাইলের অনেকগুলি সমস্যা, খুব ছোট্ট টিবিএইচ শব্দ করে।
জেএল 235


4
@ ম্যাথিউফোস্ক্রিনি নো, তারা যা জিজ্ঞাসা করছে তা হ'ল, "আমি যদি রাডার বন্দুক কিনে থাকি তবে আমি কি স্থানীয় ড্রাইভিং আইন কী তা সিদ্ধান্ত নিতে পারি?"
জন হান্না

উত্তর:


65

রক্ষণাবেক্ষণকারীদের জিজ্ঞাসা করুন।

কোডিং শৈলীটি একটি সম্পূর্ণ বিষয়গত আলোচনা এবং সর্বোচ্চ ৮০ টি বর্ণের দৈর্ঘ্যের মতো নিয়মগুলি মোটামুটি বিষয়গত - যদিও সাধারণ চুক্তিটি হওয়া উচিত যে ছোট লাইনগুলি পড়া ভাল, তবে আজকের স্ক্রিন আকার এবং আইডিই'র সাথে কারও কারও পক্ষে 80 টি খুব বাধাজনক হতে পারে।

অন্যান্য নিয়মগুলিও উদ্দেশ্য অনুসারে উপেক্ষা করা যায়। উদাহরণস্বরূপ, কোনও বিকাশকারী তার পক্ষে ডাবল কোটগুলির বিশ্বব্যাপী ব্যবহারকে আরও ভালভাবে বিবেচনা করতে পারেন এবং দুর্ঘটনাজনিত প্রবৃত্তির "ঝুঁকি" এবং পার্সিংয়ের সময় খুব সামান্য বৃদ্ধি গ্রহণ করতে রাজি হন।

অনেক রক্ষণাবেক্ষণকারীও বড় কোডিং শৈলীর পরিবর্তনগুলি পছন্দ করেন না কারণ তারা পর্যালোচনা করতে বিরক্ত হচ্ছেন এবং এটির ত্রুটিগুলি প্রবর্তনের সম্ভাবনা রয়েছে। উদাহরণস্বরূপ, একটি স্ট্রিংটি একক উদ্ধৃতিতে স্যুইচ করা যেতে পারে, যদিও এটিতে ইচ্ছাকৃতভাবে অন্তর্ভুক্ত ছিল এবং ডাবল উদ্ধৃতি ব্যবহার করা উচিত ছিল। রক্ষণাবেক্ষণকারীরা সেই আসল কোডটিতে কাজ করার সময় স্টাইল ক্লিনআপগুলি করতে পছন্দ করেন যাতে তারা শৈলীর পরিবর্তনগুলি নতুন বাগগুলি প্রবর্তন করে না তা যাচাই করতে পারে।


34
অনেক রক্ষণাবেক্ষণকারীও এমন বৃহত পরিবর্তনগুলি পছন্দ করেন না যা কঠোরভাবে প্রয়োজন হয় না কারণ তারা একীভূত দ্বন্দ্ব তৈরির প্রবণতা রাখে যা কঠোরভাবে প্রয়োজনীয় নয়।
জানু হুডেক

4
আপনি সোর্স কন্ট্রোল এনেটেট ফাংশন (যারা কোড লাইন তৈরি করেন) হারিয়ে ফেলবেন, যদি কোনও বাগ থাকে তবে এটি যেখানে চালু হয়েছিল সেখানে দোষ দেওয়া শক্ত এবং সেই ধরণের আরও ত্রুটি রয়েছে কিনা তা ট্র্যাক করা hard
পিয়ার

4
এছাড়াও - যদি প্রকল্পের নির্দিষ্ট কনভেনশনগুলি সামঞ্জস্যপূর্ণ হয় তবে আপনি কনভেনশন চেকিংয়ের জন্য একটি প্রকল্প নির্দিষ্ট কনফিগারেশন তৈরি করতে পারেন এবং কনভেনশন কনফিগারেশনটিকে পুল অনুরোধ হিসাবে প্রস্তাব করতে পারেন। সুতরাং রক্ষণাবেক্ষণকারীরা তাদের কনফিগার ব্যবহার করে তাদের প্রকল্পটি পরীক্ষা করতে পারেন। (আপনি যে সরঞ্জামটি ব্যবহার করেছেন তা দিয়ে এটি সম্ভব কিনা তা আমি জানি না))
পিটার কোফলার

মার্জ সংঘাতের উপর +1। আমি কেবল একটি কোডিং শৈলীর পুনরায় কাজ গ্রহণ করেছি এবং আমি আশা করি আমার এটি না হত, যেহেতু এটি অন্য ব্যক্তির পিআরগুলির সাথে সংহত হওয়ার বিরোধ সৃষ্টি করে। এটি সমাধান করা সহজ তবে আমি এটি বরং টুকরো টুকরো করে শেষ করেছি
দেনিথ

এটি আইডিই হ'ল এটি সীমাবদ্ধ তবে যদি এটি দুটি পৃথক ফাইল পাশাপাশি পাশাপাশি দেখায় না, সংক্ষিপ্ত-রেখাযুক্ত কোডটির দোষ না।
unPress325680

48

আপনি সম্ভবত রবোকপ সরঞ্জাম এবং রুবি স্টাইল গাইডের কর্তৃত্বের প্রতি শ্রদ্ধার দ্বারা প্রেরণা প্রাপ্ত বলে মনে হচ্ছে যা রক্ষণাবেক্ষণকারীরা ভাগ করে নিতে পারে না। তাদের ইতিমধ্যে নিজস্ব স্টাইল রয়েছে, এবং এটি ব্যবহারে অভ্যস্ত, সুতরাং যে কোনও পরিবর্তন প্রকল্পে কাজ করা প্রত্যেককে প্রভাবিত করবে এবং এটি অনেক কাজ, বিশেষত যদি প্রকল্পটি বড় হয়।

রক্ষণাবেক্ষণকারীদের প্রেরণাগুলি বিবেচনা করুন। তারা (সম্ভবত) নতুন লোকেরা বাগ-ফিক্স, বাগ রিপোর্ট, কার্যকরী কোড এবং সু-লিখিত ডকুমেন্টেশন জমা দিয়ে তাদের সাথে যোগ দিতে চায়। যদি আপনি দেখিয়ে বলেন এবং "আপনার কাছে রুবোকপে অপরাধ রয়েছে" তারা "ওহ ভাল, কেউ বোঝা ভাগ করে নেওয়ার জন্য নতুন কেউ" ভাবেন না, তারা ভাবতে যাবেন "এই লোকটি কে? তিনি কেন আমাদের বলছেন? কি করো?".

ওপেন সোর্স প্রকল্পগুলি মেধাবী হতে থাকে: আপনি আপনার কাজের মানের ভিত্তিতে সম্মান পাবেন get আপনি যদি দেখায় এবং দুর্দান্ত কিছু করেন এবং তারপরে আপনার শৈলীর উদ্বেগ প্রকাশ করেন তবে তারা শুনতে পাবে বেশি, যদিও তারা এখনও না বলে। একটি মুক্ত উত্স আছে যা বলছে "টক সস্তা, আমাকে কোডটি দেখান"।


1
সেরা উত্তর. টান অনুরোধ জমা দেওয়ার সময় যারা আগে এসেছিল তাদের প্রচেষ্টা অবশ্যই সম্মান করতে হবে। সমস্ত বিদ্যমান বিকাশকারীদের পায়ের নীচে প্রকল্পের শৈলীর পরিবর্তন করা, বিশেষত প্রত্যেকের যোগ্যতার ক্ষেত্রে আপনার চেয়ে উচ্চতর 'র‌্যাঙ্ক' পাওয়া তাদের পক্ষে আপনার প্রবর্তিত নতুন বিধিগুলি মনে রাখা অসুবিধাজনক করে তোলে। এটি প্রকল্পের মতো করে রাখার তাদের ক্ষমতাকে ক্ষতিগ্রস্থ করবে। তবুও যদি আপনি ইতিমধ্যে প্রকল্পের উন্নয়নে সক্রিয় থাকতেন, আপনি সম্ভবত স্টাইলিস্টিক পরিবর্তনের বিষয়ে রক্ষণাবেক্ষণকারীদের চিন্তাভাবনাগুলি এবং তাদের পরিচয় করানোর জন্য প্রকল্পের জীবনচক্রের সেরা পয়েন্টটি জানতেন।
ক্রিস কেইল

1
যথাযথভাবে। উদাহরণস্বরূপ, লিনাক্স প্রকল্পে, কোডের নতুন টুকরাগুলির জন্য বেশ কড়া স্টাইল গাইড থাকা সত্ত্বেও, আপনাকে স্টাইলিংয়ের সমস্যাগুলি ঠিক করার জন্য একটি বড় পুল অনুরোধ জমা দেওয়ার অনুমতি দেবে না, কারণ এটি মার্জ করে বাঘার করে। এমনকি এটি আপনাকে স্থানীয় শৈলী বজায় রাখতে বলে, এমনকি এটির অর্থ যদি এটি প্রকল্পের শৈলীর গাইডের বিরুদ্ধে যায়।
মাইলস রাউট

25

ডোগমার উপর বাস্তববাদ, সর্বদা। কোডিং শৈলীর গাইডগুলি মন্দের একটি বিশেষভাবে কৌতুকপূর্ণ রূপ যা একক / ডাবল উদ্ধৃতিয়ের মতো অবুঝ আজেবাজে দিকে আর্কিটেকচারাল উদ্বেগ থেকে দূরে দৃষ্টি আকর্ষণ করে। নিজেকে জিজ্ঞাসা করুন: এটি কি আসলেই কোনও পার্থক্য করে?

এগুলি এক পর্যায়ে ভাল হতে পারে, তবে দ্বিতীয় যে আপনি প্রায় ধর্মীয় উত্সাহর সাথে তাদের ব্যবহার করেন, আপনি খুব বেশি দূরে চলে গেছেন। এগুলি গাইডলাইন, পরামর্শ, মতামত, সত্য নয় NOT

তাদের কি তখনই উপেক্ষা করা উচিত? না, কী কী দিকে নজর দেওয়া দরকার সে সম্পর্কে সাধারণ ধারণা পেতে সরঞ্জামগুলি ব্যবহার করার যোগ্যতা রয়েছে, তবে আর নেই।

এটি আশ্চর্যজনক যে কতবার জুনিয়র প্রকারগুলি সত্যের পক্ষে মতামতকে বিভ্রান্ত করে।


11
এটি যোগ করার মতো যে পুনরায় ফর্ম্যাটিং পরিবর্তনগুলি মার্জ সংঘাত তৈরি করতে ঝোঁক দেয় যা বেশিরভাগ রক্ষণাবেক্ষণকারীদের পক্ষে কেবল এটির জন্য পুনরায় ফর্ম্যাটিংকে ঘৃণা করা একটি খুব ভাল কারণ।
জানু হুডেক

13

ফর্ম্যাটটি ঠিক করার জন্য যদি কোনও মুক্ত সমস্যা থাকে তবে আপনি এই পরিবর্তনগুলি টানতে পারেন। অন্যথায় আপনার নিজস্ব শাখা শুরু করুন, এবং যদি লেখক দেখেন যে আরও লোক আপনার শাখাটি কেবল বেশি পাঠযোগ্য বলেই ব্যবহার করে। তারা নিজেরাই ব্রাঞ্চে মার্জ হবে, তবে আপডেটগুলিতে মার্জ করে এবং নিয়মিত বিন্যাস ফিক্স করে আপনার শাখাটি বজায় রাখতে প্রস্তুত থাকুন।

যদি প্রকল্পটি আপনার নিজের শাখা বজায় রাখার পক্ষে যথেষ্ট গুরুত্বপূর্ণ না হয় তবে প্রথমে এটি পরিষ্কার করার পক্ষে উপযুক্ত ছিল না।

পুল অনুরোধগুলি ব্যক্তিগতভাবে লেখক গ্রহণ করতে পারেন। এটি সমালোচনা দেওয়ার কোনও ব্যবস্থা নয়, এবং সমস্ত কোডের পুনরায় ফর্ম্যাট করা সমালোচনা হিসাবে নেওয়া যেতে পারে।

আপনি যদি নিজের নিজস্ব শাখা বজায় রাখতে না চান তবে আপনি কোনও প্রকল্পে অবদান রাখতে চান। একটি নতুন সমস্যা খুলুন এবং বর্তমান ফর্ম্যাটটি কেন আপনাকে সমস্যার কারণ হিসাবে বর্ণনা করছে তা বর্ণনা করুন, তারপরে লেখকের জন্য সমস্যাটি সমাধান করার প্রস্তাব দিন। যদি লেখক রাজি হন, তবে তারা আপনাকে বিষয়টি বরাদ্দ করবে এবং আপনার কাছে এখন একটি টানার অনুরোধ করার অনুমতি রয়েছে।

আপনি এমন একটি বিষয়কে স্পর্শ করেছেন যা আমিও সম্মত তা হ'ল গিটহাবের এক প্রবল সমস্যা । সরাইয়া বিন্যাস, সেখানে প্রকল্প ভুলবশত ব্যবহার একটি নম্বর আছে টীকা এবং অনেক IDEs সঙ্গে যে কারণ ব্যাপক ধ্বংস। আমি তিনটি বহুল জনপ্রিয় প্রকল্পের কথা ভাবতে পারি যা অবহিত পতাকাগুলি ভুলভাবে ব্যবহার করে যা আমার আইডিইতে সতর্কতা বার্তা প্রচার করে। এগুলি ঠিক করার জন্য আমি টানার অনুরোধগুলি প্রেরণ করেছি, তবে লেখকরা একই আইডিই ব্যবহার করেন না, ফলে টানার অনুরোধগুলি উপেক্ষা করা হবে।

ব্রাঞ্চিং, মার্জ এবং ফিক্সিংয়ের একমাত্র সমাধান বলে মনে হচ্ছে।


আপনার মতে, আপনি কি ভবিষ্যতের অবদানকারীদের সুবিধার জন্য একটি পুল অনুরোধ ফিক্সিং অপরাধের বৈধ "অজুহাত" বিবেচনা করবেন? উদাহরণস্বরূপ, যাতে ভবিষ্যতের অবদানকারীদের কোডিং শৈলীটি উপলব্ধি করতে পুরো কোড বেসটি সন্ধান করার বিষয়ে চিন্তা করার দরকার নেই।
রাফ

@ রাফালচমিয়াল যখন কোনও লেখক একটি টানার অনুরোধ গ্রহণ করেন, তখন যে ব্যক্তি সেই টান পাঠিয়েছিল সে রেপোতে যুক্ত হবে এবং প্রকাশ্যে এই প্রকল্পের সহায়ক হিসাবে তালিকাভুক্ত হবে এবং তারা একটি অবদানকারী হিসাবে তালিকাভুক্ত থাকবে। একটি টান অনুরোধ পর্যালোচনা করার সময় লেখক এটি গ্রহণ করার সিদ্ধান্ত নেওয়ার সময় এটি মনে রাখবেন। টানার অনুরোধ পাঠানোর সময় এটি মনে রাখবেন। সহায়ক হওয়ার যোগ্য জিনিসগুলি করুন।
আয়তক্ষেত্রাকার

আমি কি বোঝানো ফিক্সিং অপরাধের একটি বৈধ কারণ হতে দ্বারা ভবিষ্যতে অবদানকারী কল্যাণে ছিল জন্য যেমন সংশোধন করা হয়েছে সঙ্গে একটি জনসংযোগ মার্জ? রক্ষণাবেক্ষণকারীদের কেন এই জাতীয় PR একীভূত করা উচিত? আমার প্রশ্নের শব্দবন্ধটি কিছুটা বন্ধ ছিল।
রাফ

2
@ রাফালচামিল কারণ হিসাবে আপনি যা কিছু বলছেন তা কেবল আপনার মতামত। যদি এটি আপত্তিকর কোড যা ষাঁড়ের মতো দেখাচ্ছে, তবে কোনও সমস্যাতে আপনার ভয় লিখুন। লেখক যদি এইরকম টানার বিরুদ্ধে প্রতিরক্ষা করেন, তবে টিস্যু দিয়ে আপনার অশ্রু মুছুন।
বিক্রিয়াকারী

10

রুবকপ সাইট থেকে নেওয়া (জোর খনি):

রুবি বিকাশকারী হিসাবে একটি জিনিস আমাকে সর্বদা বিরক্ত করেছে - পাইথন বিকাশকারীদের একটি দুর্দান্ত প্রোগ্রামিং শৈলী রেফারেন্স (পিইপি -8) আছে এবং রুবি কোডিংয়ের শৈলী এবং সর্বোত্তম অনুশীলনের দলিল হিসাবে আমরা কোনও অফিসিয়াল গাইড পাই নি

অনুগ্র্হ করে বুঝতে চেষ্টা কর:

কোনও অফিশিয়াল রুবি স্টাইল গাইড নেই

আমি বলছি না যে স্টাইল গাইডগুলি খারাপ। তবে কেবল কোনও অফিসিয়াল গাইড নেই, তবে স্টাইল গাইড থাকা এমন একটি পছন্দ যা ব্যক্তিগত, প্রকল্প, দল, সংস্থা পর্যায়ে তৈরি করা হয়। স্টাইল গাইডগুলি হ'ল সাইকোলজি শব্দটি ব্যবহার করার জন্য, এটি একটি "অন্তর্গত সামাজিক আদর্শ"।

এটা তোমার জন্য কি মানে বহন করে? ঠিক আছে, আপনি যদি গ্রুপের অংশ হিসাবে বিবেচিত না হন তবে এর অর্থ আপনার - বা অন্য কোনও ওয়েবসাইট বলছে - গোষ্ঠীটির সাথে কোনওভাবেই প্রভাব ফেলতে পারে না। সুতরাং যদি আপনি সেই নির্দিষ্ট প্রকল্পের সক্রিয়, সম্মানিত অবদানকারী না হন তবে সম্ভবত আপনার পরামর্শগুলি উপেক্ষা করা হবে বা সর্বোপরি স্টাইল গাইড সম্পর্কে পূর্ববর্তী বিবেচনার একটি অনুস্মারক হয়ে উঠবে। সবচেয়ে খারাপভাবে এটি অপমান হিসাবে গ্রহণ করা হবে, বা কোনও ইন্টার্লোপার বা বাইক শেডার হিসাবে নাকের যেখানে এটি নেই তার সাথে লেগে থাকবে

আপনি কি কেবল স্টাইল গাইডের পরামর্শ দিতে পারবেন না?

প্রকৃতপক্ষে, আপনি যা করতে চান তা মনে হয়: আপনি স্টাইল গাইডের মানকে বিশ্বাস করেন, আপনি ধারাবাহিকতার পক্ষে অত্যন্ত মূল্যবান হন এবং আপনি একীভূত শৈলীর নির্দেশিকাতে উত্সর্গের জন্য সুসমাচার প্রচার করতে চান ।

এটি ঠিক আছে, যতক্ষণ আপনি সত্যই স্পষ্ট হন যে আপনি যা করছেন এবং আপনি কী অর্জন করতে চান। আপনি যদি কোনও নির্দিষ্ট স্টাইল গাইডে বিশ্বাসী হন এবং বিশ্বাস করেন যে এটি ওয়ান ট্রু স্টাইল গাইড বা সেই আইন-কানুন বিধর্মীরা অনুশীলনের চারপাশে যা চালাচ্ছে তার চেয়ে কমপক্ষে ভাল, তবে এটিও ঠিক আছে।

কিন্তু লোকেরা যা প্রশংসা করে না তাদের বলা হচ্ছে যে তাদের আচরণটি আনুষ্ঠানিক, অ-বাধ্যবাধকতা, মূলত স্বেচ্ছাচারী নিয়মগুলির সাথে খাপ খায় না এমন উত্স থেকে যা তারা বৈধ কর্তৃত্বকে বিবেচনা করে না। আপনি যখন যা করতে চলেছেন, বা যদি আপনি যা করছেন বলে মনে করা হয়, আপনি "রেড কার্পেট ট্রিটমেন্ট" কম পাবেন, এবং আরও অনেক "বর্শা সহ একটি ক্রুদ্ধ নেটিভ এবং একটি বড় ফুটন্ত পাত্র" পাবেন চিকিত্সা।


3

এখানে বিকল্প মতামত দেওয়ার জন্য, অনেক ক্ষেত্রে এই জাতীয় পরিবর্তন স্বাগত হবে। ওপেন সোর্স প্রকল্পগুলির অনেক লেখক থাকে। প্রায়শই কোনও "কোডিং স্টাইল" থাকে না; শৈলীটি হ'ল যিনি প্রশ্নে কোড লিখেছেন সেটির ব্যবহারই ঘটেছে। যদি একটি ফাইল অন্য ব্যক্তির চেয়ে আলাদা ব্যক্তি দ্বারা লিখিত হয় তবে স্টাইলটিও আলাদা হতে পারে। এমনকি এমন প্রকল্পগুলিতে যেখানে aক্যমত্য স্টাইল রয়েছে, যদি না তারা নিয়মিত এই স্টাইলটি পরীক্ষা করে থাকেন, তবে প্রায়শই এটি ব্যবহৃত হয় না।

আমার অভিজ্ঞতার এটির একটি সাধারণ উদাহরণ হ'ল যখন কেউ তুলনামূলকভাবে নিম্ন মানের স্টাইল-ভিত্তিক টানার অনুরোধের মাধ্যমে কোনও কোড অবদান রাখে। তবে কোডটি কাজ করতে পারে। বিভিন্ন ব্যক্তির এ সম্পর্কে বিভিন্ন মতামত রয়েছে। কিছু লোক স্টাইলটি ভাল না হলে একটি পুল অনুরোধকে মার্জ করতে অস্বীকার করবে। কোডটি যতক্ষণ কাজ করে কিছু লোকের যত্ন নেই। কিছু লোক ভাল স্টাইল পছন্দ করতে পছন্দ করেন, তবে তারা "এখানে শ্বেত স্পেস ঠিক করুন" মন্তব্যগুলির একটি গুচ্ছ দিয়ে অবদানকারীদের ভয় দেখাতে চান না (আমি ব্যক্তিগতভাবে সবসময় এই মন্তব্যগুলি করা একটু দোষী বোধ করি, যদিও আমি জানি তারা আরও উন্নত কোডবেসটি ভাল, কারণ এটি অনুভব করে যে এটি অবদানকারীকে ভীতি প্রদর্শন করতে পারে)।

সুতরাং সরাসরি অনুমান করবেন না যে আপনি যে শৈলীটি দেখেন তা হ'ল প্রকল্পটি চায়। আসলে, যে সম্ভবত সাধারণভাবে ওপেন সোর্স অবদান প্রয়োগ করা যেতে পারে: ধরে নিই না যে কোড একটি ওপেন সোর্স প্রকল্প রয়েছে কোড এটা ব্যবহার করতে চান যে

আপনার কিছু বিষয় সম্পর্কে সচেতন হওয়া উচিত, যদিও:

  • কিছু লোক স্টাইল সম্পর্কে ধর্মীয়। যদি এটি স্পষ্ট হয়ে যায় যে তারা কুঁড়ি দিতে চায় না, তবে বিরক্ত করবেন না।

  • এটি একটি বিশাল বাইকশেড ইস্যু। এই বিষয়ে প্রত্যেকের এবং তাদের ভাইয়ের একটি মতামত রয়েছে has এই জাতীয় অনুরোধটি একত্রিত করা এর কারণ হতে পারে।

  • এ জাতীয় তুলনামূলক অনুরোধটি একীভূত করাও শক্ত হতে পারে কারণ এটি খুব দ্রুত মার্জ সংঘাতগুলি পাবে; মূলত যখনই আপনি কোডবেজের যে কোনও অংশ পরিবর্তন করেছেন যা পরিবর্তনগুলি পরিবর্তন করে, এমনকি যদি এটি ক্ষুদ্রতম উপায়ে হয়।

আমি "জিজ্ঞাসা করুন প্রথম" পদ্ধতির সাথে লেগে থাকি। যদি তারা এটির জন্য উন্মুক্ত থাকে এবং আপনি সমাপ্তির জন্য অনুরোধটির সাথে আঁকতে ইচ্ছুক হন, তবে এটির জন্য যান।


2

আমি একটি ভাল স্টাইল গাইড রাখার ক্ষেত্রে বড় হতে চাইতাম, তবে রুবিতে "আমি এগিয়ে চলেছি" বিষয়ক অবস্থার প্রেক্ষিতে।

মূলত আমি যা নিয়ে কাজ করছি তার সাথেই আমি বেঁচে থাকি এবং অন্যথায় আমি প্রচুর কাজ থেকে শিখেছি এমন সাধারণ সম্মেলনগুলি অনুসরণ করি follow

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

প্রতিটি শৈলীর উদাহরণ (আমার মতে):

রুবির জন্য সর্বজনস্বীকৃত:

  • স্পেসগুলি ট্যাব নয়
  • দুটি স্থান ইনডেন্ট
  • method_names_use_underscores
  • ধ্রুবকগুলি ক্যাপস দিয়ে শুরু হয়।

সাধারণভাবে গৃহীত:

  • প্রয়োজনে প্রথম বন্ধনী ব্যবহার করবেন না
  • { }এক লাইন ব্লক এবং do endমাল্টি-লাইন ব্লকের জন্য ব্যবহার করুন ।
  • CONSTANTS_ARE_IN_ALL_CAPS
  • ভাবটি 1 টি লাইনে ফিট cond ? true : falseহয়ে if thenথাকলে ওপরে ভবিষ্যদ্বাণীমূলক বিবৃতি ( ) ব্যবহার করুন ।

ব্যক্তিগত পছন্দ:

  • 120 অক্ষরের রেখার লাইন দৈর্ঘ্য
  • কেস whenস্টেটমেন্ট কেস স্টেটমেন্ট থেকে ইনডেন্ট করা হয় 2।
  • ডাবল প্রয়োজন না হলে একক উদ্ধৃতি ব্যবহার করুন।

কোন চুক্তি নেই:

  • কেস স্টেটমেন্ট
  • লাইন দৈর্ঘ্য

সেরা অনুশীলন:

  • ছোট পদ্ধতি, সম্ভব হলে <= 5 টি লাইন।
  • ছোট ক্লাস, <= 100 লাইন সম্ভব হলে।
  • ধ্রুবক এড়ানো
  • কোড পরীক্ষা আছে

অবশেষে, অন্যদের যেমন বিশদ রয়েছে, আপনার প্রথমে জিজ্ঞাসা করা উচিত। দিনের শেষে স্টাইলের মূল কীটি বিকাশকারীদের মধ্যে যোগাযোগ এবং অন্যের সংবেদনশীলতা sens উদাহরণস্বরূপ যদি আমি কোনও ওপেন সোর্স প্রকল্পে কোনও স্টাইল পরিবর্তন করতে চাই তবে আমি প্রায়শই প্রথমে এক বা দুটি আসল বৈশিষ্ট্য বা বাগ ফিক্সের জন্য একটি পুল অনুরোধ করব। রক্ষণাবেক্ষণকারী আমাকে একবার চেনেন এবং দেখেন যে আমি অবদান রেখেছি , তখন আমি শৈলীর পরিবর্তনের পরামর্শ দিতে পারি। আমি তবেই তাদের পরামর্শ দিই । উদাহরণস্বরূপ "প্রোজেক্ট এক্স-তে অন্য একটি বৈশিষ্ট্য করার সময় আমি লক্ষ করেছি যে আপনার কয়েকটি ফাইলের মধ্যে 4 টি স্পেস ইনডেন্ট রয়েছে এবং আমি ভাবছিলাম যে আমি সেগুলি 2 এ পরিবর্তন করতে পারি?"


1

যদিও এটি ছোট এবং সংশোধন করা সহজ, আপনি কি মনে করেন যে অপরাধগুলি সংশোধন করে এবং একটি পুল টিক অনুরোধ করে কোনও ওপেন সোর্স প্রকল্পের কোডিং স্টাইলটি পরিবর্তন করা ঠিক আছে?

সংক্ষেপে, না!

অবশ্যই, আমি এখানে ধরে নিচ্ছি যে এটি কেবল স্টাইলের বিষয় এবং প্রকৃত বাগ নয় - পরবর্তীগুলির জন্য অনুরোধগুলি সর্বদা বুদ্ধিমান হবে (আইএমও।) আমি আরও ধরে নিচ্ছি যে আপনি এই প্রকল্পের জন্য অপরিচিত এবং ইতিমধ্যে এটি বজায় রাখার লোকদের সাথে যোগাযোগ নেই।

তবে, যে কোনও ভাষার মধ্যে সর্বদা কিছু লোকের পছন্দ থাকে যা তাদের পছন্দ পছন্দ করে যা স্টাইল গাইড থেকে পৃথক, ভাল বা খারাপ, এবং আপনি জানেন না এমন লোকেদের উপর এই শৈলীর পরিবর্তনগুলি প্রয়োগ করার চেষ্টা করছেন এবং এমন একটি প্রকল্প যা আপনি অংশ নন not কিছু যদি কিছু অসম্পূর্ণ হিসাবে আসে না পারে। সর্বোপরি - যদি অনুরোধটি গৃহীত হয় তবে আপনি (বাস্তবে) কী অর্জন করছেন? সমস্ত সম্ভাবনায়, যদি কোনও প্রকল্পের সদস্যরা শৈলীটিকে অন্যরকম কিছুতে রূপান্তর করতে চান, তারা ইতিমধ্যে এটি করতেন - এবং আপনি যে অনুরোধটি করে যাচ্ছেন তা তাদের উপর এমন একটি স্টাইল জোর করে যা অগত্যা কোনও ভাল কাজ করে না is বিদ্যমান সদস্যদের জন্য

আপনি যদি স্টাইল "ফিক্স" না করে অন্য উপায়ে প্রকল্পে অবদান রাখতে ইচ্ছুক হন তবে এটি কিছুটা পরিবর্তিত হবে। আমি বলব যদি আপনি কীভাবে প্রকল্পটিতে কাজ করতে চান তবে কোনও মান-স্ট্যান্ডার্ড স্টাইল খুঁজে পাওয়া কঠিন তা সম্পর্কে যদি আপনি রক্ষণাবেক্ষণকারীদের সাথে একটি কথোপকথন খুলতে চান তবে তা ঠিক আছে। তবে আমি সত্যিই অন্ধভাবে চোখ ধাঁধানো প্রকল্পগুলির একগুচ্ছ অনুরোধগুলি তৈরি করতে ঘুরতে যাব না যেখানে কেবল শৈলীর পরিবর্তন রয়েছে!


1

কোনও পরিবর্তন ত্রুটিগুলি প্রবর্তনের জন্য দায়বদ্ধ, এমনকি কোডের টাইপোগ্রাফিক বিন্যাস পরিবর্তন করে।
সুতরাং বৈধ ব্যবসায়ের ক্ষেত্রে না থাকলে কোডটিতে কোনও পরিবর্তন করা উচিত নয় এবং "তবে কোডটি দুর্দান্ত দেখাচ্ছে না" বা "কোড কোডিং মানগুলি অনুসরণ করে না" বৈধ ব্যবসায়ের ক্ষেত্রে নয়। ঝুঁকিটি কেবল খুব দুর্দান্ত।
এখন, যদি আপনি যে কোনও উপায়ে কোনও উত্স ফাইলে বড় পরিবর্তন করে থাকেন, মানদণ্ডের সাথে সামঞ্জস্য রেখে পুরো ফাইলটি টানলে তা গ্রহণযোগ্য হতে পারে তবে সম্ভবত আপনার নিজের পরিবর্তনগুলি রাখা সর্বজনীনভাবে পছন্দনীয় ক্ষেত্রে খুব ছোট পরিবর্তন আনতে চলেছেন likely বিদ্যমান কোডের সাথে লাইন করুন যদিও বিদ্যমান কোড কোডিং মানগুলি অনুসরণ করে না।
হেক, কোডটি কোনও কোড জেনারেটরের ফলাফল হতে পারে এবং সময়ে সময়ে পুনরায় জেনারেট হতে পারে। কোড জেনারেটররা কুৎসিত কোড উত্পাদন করার জন্য কুখ্যাত ...


1

আমার কাছে বেশ কয়েকটি মাঝারি পরিমাণে সফল। নেট প্রকল্প রয়েছে এবং আমি এমন লোকদের কাছ থেকে কয়েক জন পিআর পেয়েছি যারা রিসার্পার এবং স্টাইলকপ সহ কোডটি দিয়েছিল এবং "গুছানো" স্টাফগুলির একগুচ্ছ রয়েছে appear আমি কয়েকটি পিছু পিআরএস গ্রহণ করি না:

  • যদিও পরিবর্তনগুলি অনেকগুলি উন্নতির জন্য, তাদের মধ্যে কিছু কিছুকে নেতিবাচকভাবে কোনওভাবে প্রভাবিত করে, সাধারণত সম্পাদন করে, এবং ভাল অংশগুলি চেরি-বাছাই করা খুব বেশি পরিশ্রম।
  • এমনকি যদি সমস্ত পরিবর্তনগুলি হয় সৌম্য বা এমনকি উপকারী, প্রতিটি প্রতিশ্রুতিতে প্রতিটি ফাইলের প্রতিটি পরিবর্তন পর্যালোচনা করা দরকার এবং আবারও, এটি খুব দীর্ঘ সময় নেয়।

এটি বলে, যদি কেউ আরও ভাল ত্রুটি পরীক্ষা বা ডক মন্তব্য যুক্ত করতে চায় তবে আমি সেই পিআরটিকে হার্টবিটটিতে গ্রহণ করব।


-1

রক্ষণাবেক্ষণকারীরা এই কোডিং শৈলীর লঙ্ঘনকে একটি ত্রুটি হিসাবে বিবেচনা করছেন বা কোডিং শৈলীর জন্য প্রকল্পটির আলাদা মান রয়েছে কিনা তা আপনাকে খুঁজে বের করতে হবে।

যদি এর আলাদা মান থাকে তবে আপনি দস্তাবেজকে সহায়তা করার বা এটি আনুষ্ঠানিক করার প্রস্তাব দিতে পারেন। তারপরে এটির স্টাইলের কিছু লঙ্ঘন হতে পারে এবং আপনি সেগুলি ঠিক করতে পারেন।


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