আপনি যা চান তা হ'ল ধ্রুবকগুলির বিজ্ঞাপন নাক্সাম রেফারেন্সগুলি মুছে ফেলা , তাদের নাম দেওয়া হোক বা খালি হোক:
for_each_chess_square (row, col) {
/*...*/
}
যদি আপনি আসলে এই ধরণের লুপগুলি এবং হোয়াট নোটগুলি পুনরাবৃত্তি করে ধ্রুবককে প্রসারিত করতে যাচ্ছেন তবে এটির সাথে আঁকানো ভাল 8
।
8
স্ব-বর্ণনাকারী; এটি এমন কোনও ম্যাক্রো নয় যা অন্য কোনও কিছুর জন্য দাঁড়ায়।
আপনি কখনই করতে পারবেন না (টিএম) এটিকে 9x9 দাবা প্রোগ্রামে পরিণত করুন এবং আপনি যদি কখনও করেন তবে 8 এর বিস্তারটি সবচেয়ে বড় অসুবিধা হবে না।
টোকেন 8 এর জন্য আমরা 150,000 লাইন কোড বেসটি অনুসন্ধান করতে পারি এবং সেকেন্ডে কী ঘটবে তার অর্থ শ্রেণিবদ্ধকরণ করতে পারে।
এর চেয়েও গুরুত্বপূর্ণটি হল কোডটি সংশোধন করা যাতে দাবা জ্ঞান যতটা সম্ভব কম জায়গায় সংবিধানিত হয়। একটি, দুটি, সম্ভবত তিনটি দাবা-নির্দিষ্ট মডিউল থাকা ভাল যেখানে আক্ষরিক 8 ঘটে, তাত্তিশটি মডিউলগুলি দাবা-নির্দিষ্ট দায়বদ্ধতার চেয়ে বেশি, প্রতীকী নামের মাধ্যমে 8 উল্লেখ করে than
এই 8 ধ্রুবকটি আপনার প্রোগ্রামে যখন উত্তেজনার উত্স হয়ে ওঠে, আপনি খুব সহজেই সেই সময়ে এটি ঠিক করতে পারেন। এখন ঘটে যাওয়া আসল সমস্যাগুলি ঠিক করুন। আপনি যদি মনে করেন না যে আপনি সেই বিশেষ 8 দ্বারা বাধা পেয়েছেন তবে সেই প্রবৃত্তির সাথে যান।
মনে করুন ভবিষ্যতে আপনি বিকল্প বোর্ডের মাত্রা সমর্থন করতে চান। 8
সেক্ষেত্রে , এই লুপগুলি নামকরণ করা ধ্রুবক ব্যবহার করবে কিনা তা পরিবর্তন করতে হবে, কারণ মাত্রা board.width
এবং এর মতো কিছু এক্সপ্রেশন দ্বারা পুনরুদ্ধার করা হবে board.height
। BOARD_SIZE
পরিবর্তে আপনার যদি থাকে তবে 8
এই স্থানগুলি সন্ধান করা আরও সহজ হবে। সুতরাং যে চেষ্টা কম। যাইহোক, আপনি প্রতিস্থাপন প্রচেষ্টা সম্পর্কে ভুলবেন না 8
দিয়ে BOARD_SIZE
প্রথম স্থানে। সামগ্রিক প্রচেষ্টা কম নয়। কোডটি পরিবর্তনের 8
জন্য একটি পাস করা BOARD_SIZE
এবং তারপরে বিকল্প মাত্রাকে সমর্থন করার জন্য আরেকটি করা, কেবলমাত্র 8
বিকল্প মাত্রা সমর্থন থেকে যাওয়ার চেয়ে সস্তা নয় ।
আমরা একে একে নিছক ঠান্ডা, উদ্দেশ্যগত ঝুঁকি / সুবিধা বিশ্লেষণ থেকেও দেখতে পারি। প্রোগ্রামটিতে এখন খালি ধ্রুবক রয়েছে। এগুলি যদি ধ্রুবক দ্বারা প্রতিস্থাপন করা হয় তবে কোনও লাভ নেই; প্রোগ্রাম অভিন্ন। যে কোনও পরিবর্তন সহ, একটি ননজারো ঝুঁকি রয়েছে। এই ক্ষেত্রে, এটি ছোট। তবুও, কোনও সুবিধা ছাড়াই কোনও ঝুঁকি নেওয়া উচিত নয়। এই যুক্তিটির পরিবর্তনের পরিবর্তনকে "বিক্রয়" করতে, আমাদের একটি সুবিধার অনুমান করতে হবে: ভবিষ্যতের বেনিফিট যা বিভিন্ন প্রোগ্রামে সহায়তা করবে: প্রোগ্রামটির ভবিষ্যতের সংস্করণ যা বর্তমানে নেই। যদি এই জাতীয় কর্মসূচির পরিকল্পনা করা হয়, তবে এই অনুমান এবং এর সাথে যুক্ত যুক্তি সুস্পষ্ট এবং গুরুত্ব সহকারে নেওয়া উচিত।
উদাহরণস্বরূপ, আপনি যদি আরও কোড যুক্ত করার দিন থেকে দূরে থাকেন যা এই ধ্রুবকগুলিকে আরও প্রসারিত করে, আপনি সেগুলি সরিয়ে ফেলতে চাইতে পারেন। যদি কনস্ট্যান্টগুলির সেই দৃষ্টান্তগুলি যদি প্রায় সমস্ত দৃষ্টান্তই উপস্থিত থাকে তবে এর পরে কেন বিরক্ত হবে।
আপনি যদি কখনও বাণিজ্যিক সফ্টওয়্যারটিতে কাজ করেন তবে আরওআই যুক্তিগুলিও প্রযোজ্য হবে। যদি কোনও প্রোগ্রাম বিক্রি না করে এবং কিছু হার্ড-কোডেড নম্বরগুলি ধ্রুবকগুলিতে পরিবর্তন করে বিক্রয় উন্নতি করে না, তবে আপনাকে চেষ্টার জন্য ক্ষতিপূরণ দেওয়া হবে না। সময়ের বিনিয়োগে এই পরিবর্তনটির শূন্য রিটার্ন রয়েছে। আরওআইয়ের যুক্তিগুলি অর্থের বাইরে সাধারণীকরণ করে। আপনি একটি প্রোগ্রাম লিখেছেন, সময় এবং প্রচেষ্টা বিনিয়োগ করেছেন এবং এর থেকে কিছু পেয়েছেন: এটিই আপনার প্রত্যাবর্তন, আপনার "আর"। যদি এই পরিবর্তনটি একা করেই আপনি যে "আর" এর থেকে বেশি পান তবে তা যা-ই হোক না কেন। যদি আপনার আরও বিকাশের জন্য কিছু পরিকল্পনা থাকে এবং সেই পরিবর্তনটি আপনার "আর" উন্নতি করে। পরিবর্তনের যদি আপনার জন্য কোনও তাত্ক্ষণিক বা অবর্ণনীয় "আর" না থাকে তবে এটি ভুলে যান।