আমি উত্সাহী ছিলাম যদি কেউ কোনও প্রদত্ত ফাইলের জন্য কোডের সর্বাধিক সংখ্যক লাইনের জন্য একটি নামী উত্স থেকে কোনও সুপারিশের কথা জানতেন। উদাহরণস্বরূপ, গুগলের ক্লোজার লিন্টার সুপারিশ করে যে প্রতিটি লাইন 80 টি অক্ষরের বেশি না হওয়া উচিত।
আমি উত্সাহী ছিলাম যদি কেউ কোনও প্রদত্ত ফাইলের জন্য কোডের সর্বাধিক সংখ্যক লাইনের জন্য একটি নামী উত্স থেকে কোনও সুপারিশের কথা জানতেন। উদাহরণস্বরূপ, গুগলের ক্লোজার লিন্টার সুপারিশ করে যে প্রতিটি লাইন 80 টি অক্ষরের বেশি না হওয়া উচিত।
উত্তর:
একটি ফাইল পর্যাপ্ত পরিমাণে হওয়া উচিত যাতে আপনি একাধিকবার এর জন্য শিকার করতে, বা কোনও অনুসন্ধানের স্ট্রিং মনে রাখার জন্য পিছনে পিছনে স্ক্রোল না করে কোনও ফাংশন বা পদ্ধতি খুঁজে পেতে পারেন। আমি যে মেট্রিকটি ব্যবহার করি তা হ'ল এটি পড়ার বিপরীতে কোনও ফাইলের মধ্যে কোড অনুসন্ধান করতে আমি যে সময় ব্যয় করি। যদি তা লক্ষণীয় হয়ে ওঠে, তবে ফাইল বা শ্রেণীর পুনরায় ভাগ করার সময় এসেছে।
একটি বেসিক কোড ব্লকের জন্য একটি ভাল আকারের প্রস্থ এবং উচ্চতা উভয়ই যথেষ্ট ছোট, আপনি কোনও গ্রুপ কোড পর্যালোচনা চলাকালীন এটির সাহসগুলি প্রজেক্ট করতে পারেন এবং ফন্টটি এত ছোট না করে ফিট করে রাখুন যে পিছনের লোকটি সম্মেলন কক্ষটি এটি পড়তে পারে না। আপনার সাথে থাকা সমস্ত মোবাইল ডিভাইস বা ট্যাবলেট যখন আপনাকে কিছু কোড ব্যাখ্যা করতে ডাকা হয় তখন এই আকারটিও সহায়তা করে।
এ জাতীয় কোনও জিনিস নেই, এবং যদি তা থাকে তবে এটি আপনি কোন ভাষাটি ব্যবহার করছেন তার উপর নির্ভর করবে (উদাহরণস্বরূপ সি # বা জাভা বনাম এসেম্বলারের ক্ষেত্রে একই জিনিসটি করা)।
উচ্চ স্তরের ভাষাগুলির জন্য, আপনি এই এসও আলোচনাটি দেখতে পারেন । জাভা / সি # এর জন্য, প্রতি পদ্ধতিতে 10-20 লাইনগুলি বব মার্টিন সর্বাধিক হিসাবে প্রস্তাব দেয়। ফাইল সম্পর্কিত কোনও আলোচনা নেই, কারণ এটি প্রাসঙ্গিক নয় এবং শ্রেণীর কী করণীয় তা নির্ভর করে।
প্রতি লাইন সীমাতে 80 টি চরিত্রের ক্ষেত্রে - এটি পাঞ্চ কার্ডের দিনগুলির জন্য একটি থ্রোব্যাক। এটি বলার পরে, যখন লাইনগুলি খুব দীর্ঘ হয়, পাঠযোগ্যতা ভোগ করে।
ফাইল এবং লাইন দৈর্ঘ্য জটিলতার গৌণ প্রভাবগুলির পরিমাপ এবং এর মতো অত্যন্ত পরিবর্তনশীল। আপনার কী লক্ষ্য করা উচিত তা হ'ল অপ্রয়োজনীয় জটিলতা ছাড়াই কোড, কোনও সর্বাধিক সীমাবদ্ধ গণনা নয়।
লম্বা ফাইলগুলি নির্দেশ করে যে পদ্ধতিগুলি, সাবরুটাইনগুলি বা ক্লাসগুলি অত্যধিক জটিল (খুব বেশি কিছু করা, যথেষ্ট পরিমাণে ফ্যাক্টার্ড নয় ইত্যাদি) are
দীর্ঘ লাইনগুলি ইঙ্গিত দেয় যে প্রকাশগুলি অত্যধিক জটিল।
এগুলি দুর্গন্ধযুক্ত যা কোনও সম্ভাব্য কোড সমস্যা নির্দেশ করে, লক্ষ্যযুক্ত মেট্রিকগুলি ভালভাবে সংজ্ঞায়িত হয় না।
লাইনের দৈর্ঘ্য এমন হওয়া উচিত যা পুরো লাইনটি দেখতে আপনাকে স্ক্রোল স্ক্রোল করতে হবে না। এটি মনিটরের আকার এবং রেজোলিউশনের উপর নির্ভর করে।
কোনও স্ক্রিনে ফিট করতে পারলে পদ্ধতি এবং ফাংশন সর্বোত্তম।
ফাইলগুলি বেশি দীর্ঘ হওয়া উচিত নয়। সেরাটি হ'ল সংক্ষিপ্ত ফাইলগুলি, যেখানে শ্রেণিটি বোঝা এবং বাস্তবায়ন করা সহজ।
একবার আমি এমন একটি প্রকল্পে কাজ করেছি যেটিতে 10 কিলিন ফাইল রয়েছে। এটি ছিল একটি খুব জটিল বই পড়ার মতো। বাস্তবায়নের ফলে কতগুলি সমস্যা হয়েছে তা আমার জানা দরকার?
৮০ টি চরিত্র!
আমার মনে আছে আমি বিলিং প্রোগ্রামগুলির জন্য উত্স কোড ফাইলগুলি প্রায় 80 পৃষ্ঠাগুলি এবং এর চেয়ে বেশি পৃষ্ঠাতে দেখতাম যখন আমি কোবোল করি। অবশ্যই, আমি দেখতে পাচ্ছি না যে এটি সাধারণ অনুশীলনের কাছাকাছি তবে ৮০ টি চরিত্র সমান হাস্যকর।
শ্রেণীর আকারের দর্শন থেকে, আপনি যদি প্রায় 80 টি বৈশিষ্ট্য এবং 20 টি পদ্ধতি বা এমন কোনও আদর্শ গ্রাহক শ্রেণিতে এই পরামর্শটি প্রয়োগ করার চেষ্টা করেন, আপনাকে ক্লাসটি অন্য কয়েকটি বিভাগে ভেঙে দিতে হবে এবং কোডটি সত্যই খুব অগোছালো করতে হবে।
আমি ক্লাস এবং পদ্ধতিগুলি সংক্ষিপ্ত রাখার চেষ্টা করি, তবে লাইনের দৈর্ঘ্যের বিষয়ে এতটা চিন্তা করবেন না। প্রশস্ত পর্দা এবং দীর্ঘ শনাক্তকারীদের এই দিনগুলিতে, আমি মনে করি আশি চরিত্রগুলি খুব কম। বিবৃতিগুলি ভাঙ্গতে কিছু কাজ লাগে যাতে তারা সহজেই পড়ে এবং একটি আশি চরিত্রের সীমা সহ এটি প্রায়শই ঘন ঘন ঘটে। আমি মনে করি প্রতি লাইনে প্রায় 120 বা 130 কলামগুলি আরও যুক্তিসঙ্গত।