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