অভিজ্ঞতা থেকে কথা বলা ...
আমি যে প্রথম ওপেন সোর্স প্রকল্পটিতে অবদান রেখেছি, আমি যখন প্রথম শুরু করেছি তখন আমি সমস্ত প্রস্রাব এবং ভিনেগারে পূর্ণ ছিলাম।
আমি তাত্ক্ষণিকভাবে যা করেছি তা হ'ল উত্স ফাইলগুলির একগুচ্ছ মধ্য দিয়ে যাওয়া এবং আমার ব্যক্তিগত পছন্দগুলিতে জিনিসগুলি স্টাইলাইজ করা শুরু করা, একটি বিশাল প্যাচ তৈরি করা এবং এটি জমা দেওয়া।
আপনি যদি কারও সাথে 'ভাল' (যেমন আমি ছিলেন) (গুলি) কাজ করছেন তবে তিনি তত্ক্ষণাত প্যাচটি প্রত্যাখ্যান করবেন। বেশিরভাগ কারণেই, যখন আপনি কোনও ওপেন সোর্স প্রকল্পে অবদান রাখেন, তখন আপনার প্রত্যাশাগুলি একক ইস্যুকে সম্বোধনকারী কামড়ের আকারের অংশগুলিতে ভেঙে ফেলার আশা করা হয়। 'সমস্ত গোটো সরানো' পারমাণবিক অঙ্গীকারের একটি ভাল উদাহরণ নয়। এমনকি যদি আপনি এটিকে ছোট করে ভাঙেন তবে ভাল-ডকুমেন্টেড প্রথমে কমিট করে এটি এখনও প্রত্যাখাত হতে পারে।
কারণটি হ'ল, কারণ সময়ের সাথে সাথে কোডটি একাধিক লোকের দ্বারা কাজ করা হয়েছিল (বিভিন্ন স্টাইল সহ) কোনও বিকাশকারীর স্টাইল অনুসারে পুরো লাইব্রেরিতে পরিবর্তনগুলি গ্রহণ করা সত্যিই সম্ভব নয়। শৈলীর স্বার্থে যদি স্টাইল পরিবর্তন করা সম্ভব হয় তবে প্রতিটি ওপেন সোর্স প্রকল্পটি কখনই এগিয়ে যায় না কারণ কোডটি নিয়মিতভাবে বিভিন্ন ডিভাস স্টাইলের জন্য সম্পাদনা করা হত।
কোডকে রিফ্যাক্টরিং করা এবং কার্যকারিতা যুক্ত করা (বা অবচিত ক্রাফট অপসারণ) সাধারণত 'পরিষ্কার' কোডের চেয়ে বেশি প্রাধান্য পায়।
ওপেন সোর্স প্রকল্পে কাজ করার সবচেয়ে কঠিন এবং সর্বাধিক ফলপ্রসূ অংশটি, আপনাকে কেন জিজ্ঞাসা করা হবে যে পরিবর্তনগুলি জমা দিচ্ছেন তার প্রস্তাব আপনি দিচ্ছেন করা হবে। আপনি যদি কোনও ভাল কারণ দিতে পারেন তবে আপনার প্যাচ জমা দেওয়ার আরও ভাল সম্ভাবনা রয়েছে।
আমার পরামর্শটি হ'ল আপনি প্রথমে যা করার চেষ্টা করছেন তার স্বাদ দেওয়ার জন্য একটি উত্স ফাইলে এই পরিবর্তনগুলির কয়েকটি করা। যদি পরিবর্তনগুলি যথাযথভাবে গ্রহণযোগ্য হয় এবং স্বীকৃত হয়, তবে আরও পরিবর্তনগুলি যেমন প্রকল্পের মানের উন্নতি করবে কিনা তা জিজ্ঞাসা করুন। যদি ভবিষ্যতে আপনার প্যাচগুলি প্রত্যাখ্যান করা হয় তবে আপনি কোনও কিছুর জন্য প্রচুর প্রচেষ্টা নষ্ট করবেন না।
কোড লেখার চেয়ে ওপেন সোর্স বিকাশ করা বেশি। আপনি একটি বিশ্বাসের সম্পর্ক তৈরির জন্য কাজ করছেন কারণ দারোয়ানরা (ডিভস যারা পুশ অ্যাক্সেস নিয়ন্ত্রণ করে) তা করবে প্রকল্পের অখণ্ডতা রক্ষার জন্য যা হবে তা । আপনি আরও প্যাচ জমা দেওয়ার সাথে সাথে গেটকিপার আপনার স্টাইলের জন্য আরও ভাল অনুভূতি পাবে এবং আপনার পরিবর্তনগুলিকে ততটা ন্যায়সঙ্গত করতে হবে না।
এটি এমন একটি প্রক্রিয়া যা সময় নেয় তবে এটি অত্যন্ত ফলপ্রসূ। আপনি কেবল দেখার জন্য সক্ষম হওয়া এবং কারও এলিসের কোডের সমালোচনা করা থেকে অনেক কিছু শিখবেন না তবে আপনার নিজের স্টাইলে আপনাকে সমালোচনা করা হবে ।
'অন্যের কোডিং স্টাইলের ত্রুটিগুলির অন্যায়টি সংশোধন করার' চেষ্টা করার আগে আপনি অনেক সময় নষ্ট করার আগে নিজেকে এই জিজ্ঞাসা করুন:
প্রকল্পের মান সংযোজনের ভিত্তিতে আপনি প্রস্তাবিত পরিবর্তনগুলি কি সেগুলি আপনার নিজের অভ্যন্তরীণ শৈলিক ধর্মের ভিত্তিতে।
একটা হল অনেক স্ট্যাক ওভারফ্লো (এবং সংশ্লিষ্ট স্ট্যাক এক্সচেঞ্জ সাইটগুলি) উপর ধর্মের। আমি অনেক মানে । লোকেরা স্টাইল সম্পর্কে অবিরাম চিন্তা করে এবং কথা বলে, আপনি যত বেশি এ সম্পর্কে কথা বলবেন ততই আপনি 'নিখুঁত, আদর্শ, অবর্ণনীয়, অবর্ণনীয়' কোডিং শৈলীর কাছাকাছি আসবেন। আমি এটি সম্পর্কে অনেক বেশি কথা বলি কারণ এটি মজাদার।
ওপেন সোর্স বিশ্বে স্টাইলটি এতটা গুরুত্বপূর্ণ নয়। ফাংশন হয় ।
দ্রষ্টব্য: এই সমস্ত পরামর্শ অনুমান করে যে আপনার দারোয়ানটি একটি যুক্তিসঙ্গত এবং প্রতিভাবান প্রোগ্রামার। যদি তিনি (গুলি) হন তবে নিজেকে ভাগ্যবান গণ্য করুন যে আপনি যে চমকপ্রদ বি @ & # & এস এর একমাত্র উদ্বেগ তাদের 'বাচ্চা' রক্ষা করছেন তার একটিতে আটকে যাননি। তারা কি বন্য আউট বিদ্যমান, তাই যদি আপনি এক সম্মুখীন না বিস্মিত না।
goto
অগোছালো অগত্যা হয় না। অনেকগুলি ক্ষেত্রে রয়েছে যখন এর ব্যবহারটি পুরোপুরি ন্যায়সঙ্গত হয়।