কেন না উভয়?
প্রথমত, "বর্ণনামূলক" এবং "ভারবোজ" এক নয়। উদাহরণস্বরূপ, আপনি যদি মোটামুটি লোকাল লুপ লিখছেন i
তবে লুপ ভেরিয়েবলের জন্য খুব ভাল ভেরিয়েবলের নাম; current_iteration_index
যদিও তর্কসাপেক্ষে আরও বর্ণনামূলক এবং স্পষ্টতই আরও ভার্বোজ রয়েছে, এটি আরও খারাপ এবং কোনও তথ্য যুক্ত করে না, কারণ i
লুপ ভেরিয়েবল হিসাবে ব্যবহার করা সর্বজনীনভাবে গ্রহণযোগ্য, এবং এর ব্যতীত অন্য কোনও অর্থ নেই i
।
ভাল পরিবর্তনশীল নামগুলি বর্ণনামূলক, যাতে ভাষার আইডিয়োম এবং কোডবেসের কনভেনশনগুলির সাথে পরিচিত কোনও প্রোগ্রামার সহজেই তাদের ভূমিকা কী তা অনুমান করতে পারে তবে তারা সংক্ষিপ্ত রাখতে সংক্ষিপ্ত পরিমাণেও রয়েছে।
৮০-চরিত্রের সীমাটি, যদিও মূলত ১৯ 1970০ এর পাঠ্য টার্মিনালের প্রযুক্তিগত সীমাবদ্ধতার ফলাফল, আজও অনেকের দ্বারা এটি মূল্যবান এবং এখনও প্রযুক্তিগত কারণগুলি রয়েছে (কিছু নেটওয়ার্ক প্রোটোকলে সর্বাধিক লাইনের দৈর্ঘ্য, উল্লেখযোগ্যভাবে ই-মেইল সম্পর্কিত), আরও জোরালো কারণগুলি হ'ল মানসিক এবং সামাজিক social দেখা যাচ্ছে যে line 66 টি চরিত্রের চিহ্নটি প্রায় প্রাকৃতিক-ভাষা গদ্যের জন্য আরামদায়ক পাঠের অভিজ্ঞতা অর্জন করে (ফন্টের আকার আকর্ষণীয়ভাবে কোনও পার্থক্য করে না এবং ফলস্বরূপ, পর্দা বা কাগজের আকারও নয়); ৮০-অক্ষরের রেখার সীমাটি এর থেকে খুব কাছাকাছি, তবে যেহেতু কোডের একটি সাধারণ টুকরো বেশিরভাগ অংশ সাধারণত কমপক্ষে এক বা দুটি স্তরকে ইন্ডেন্ট করে থাকে (যার অর্থ ইনডেন্টেশন সেটিংসের উপর নির্ভর করে 4 এবং 16 অক্ষরের মধ্যে থাকে),
৮০-চরিত্রের লাইনে আটকে থাকার আরও একটি প্রভাব হ'ল জিনিসগুলি যখন খুব জটিল হয় তখন এটি একটি খুব ভাল সূচক। দীর্ঘতর রেখাগুলি সাধারণত নিম্নলিখিতগুলির মধ্যে একটি দ্বারা সৃষ্ট হয়:
- যুক্তিগুলির দীর্ঘ তালিকা সহ ফাংশন; এটি রাখা খুব ভাল জিনিস নয়, কারণ এগুলি পঠনযোগ্যতা বাধা দেয় এবং সহজেই সূক্ষ্ম বাগগুলি তৈরি করতে পারে, উদাহরণস্বরূপ যখন লোকেরা যুক্তি অর্ডারটিকে এমনভাবে বদলে দেয় যে সংকলকটি ধরে না।
- জটিল প্রকাশ, প্রায়শ শর্তসাপেক্ষে পাওয়া যায় (যেমন
if ((user.isLoggedIn && user.hasPermission(page.getRequiredPermission()) && !user.isBanned) || page.getRequiredPermission() == null)
); এটি খুব সহজেই সিদ্ধান্ত গ্রহণ করা শক্ত, এবং কোডটি আরও কাঠামোগত কিছুতে আবার লিখতে হবে। সম্ভবত, প্রকাশটি খুব বেশি করে এবং কোনও পদ্ধতি বা ফাংশনে ফ্যাক্টর হওয়া উচিত।
- ফাংশন কল বা এক্সপ্রেশন হিসাবে ব্যবহৃত দীর্ঘ আক্ষরিক, যেমন
print(translate(LANG_EN, LANG_ES, "This is the home page. Feel welcome to click around and see what we have."));
। আক্ষরিক একটি পরিবর্তনশীল বা ধ্রুবক মধ্যে সরান; এটি এখনও রেখার দৈর্ঘ্য অতিক্রম করতে পারে, তবে আপনি যদি এটি ধারাবাহিকভাবে করেন তবে পাঠক কমপক্ষে নিরাপদে লাইনের অদৃশ্য অংশটিকে উপেক্ষা করতে পারে, ধরেই ধরে নিবে যে কেবল আক্ষরিক বাকী অংশগুলি অনুসরণ করে। বা আরও ভাল, আক্ষরিকগুলি কোডের বাইরে এবং একটি বাহ্যিক ডেটা স্টোর (ফাইল, ডাটাবেস, যাই হোক না কেন) এ সরান।
- গভীরভাবে নেস্টেড বিবৃতি, উদাহরণস্বরূপ
if
একটি শ্রেণি পদ্ধতিতে ছয় স্তরের বিবৃতি (এটি আদর্শ সেটিংসের জন্য 32 টি কলামের ইন্ডেন্টেশন)। আবার, গভীর বাসা বাঁধাই জটিল এবং হার্ড-টু-পঠনের কোড তৈরি করে এবং প্লেগের মতো এড়ানো উচিত - সহজভাবে বলতে গেলে, গভীর বাসা বাঁধার ফলে পড়ার সময় মানুষের মস্তিষ্কের স্ট্যাকগুলি প্রবাহিত হয়।
এগুলি সবশেষে আপনার কোড বেসগুলিতে দীর্ঘমেয়াদে না থাকা জিনিসগুলির লক্ষণ are এবং ৮০-বর্ণের সীমা প্রয়োগ করা একটি দুর্দান্ত এবং সহজ উপায় যা জটিলতা হ্রাস করতে এবং পঠনযোগ্যতা বজায় রাখতে সহায়তা করে। (এটি 80 টি কলামে আপনি পুরোপুরি অপঠনযোগ্য কোডটি লিখতে পারবেন না বলে বলার অপেক্ষা রাখে না: বিভিন্ন অবলম্বন-কিছু-কোড প্রতিযোগিতা একটি পরিষ্কার পাল্টা-উদাহরণ)।