যদিও একই জিনিসটি একই রকম নয়, এটি এই ধরণের কারণ এইচটিএমএল এটি যে দুর্যোগে পরিণত হয়েছিল। ব্রাউজারগুলি খারাপ মার্কআপ সহ্য করেছিল এবং পরবর্তী জিনিস আপনি জানতেন যে, ব্রাউজার এ ব্রাউজার বি একইভাবে রেন্ডার করতে পারেনি (হ্যাঁ এর অন্যান্য কারণও রয়েছে, তবে এটি শীর্ষস্থানীয়দের মধ্যে একটি ছিল, প্রায় 10 বছর আগে কিছুটা আলগা নিয়মের কনভেনশন হওয়ার আগে থেকেই হয়েছিল) )।
এরিক লিপার্ট অনুমান হিসাবে, এইগুলি অনেকগুলি আইডিই দ্বারা পরিচালনা করা হয়, সংকলকটি নয়। এটি আপনাকে স্বয়ংক্রিয় বিটগুলি আপনার জন্য কী আঁকতে চেষ্টা করছে তা দেখতে দিন।
আমি যে কৌশলটিকে এখন প্রধান বলে মনে করি তা সংকলকটি আলগা করার পরিবর্তে ধারাবাহিক ভাষা সংশোধন করা: এটি যদি সত্যই কিছু হয় যা সংকলকটি স্বয়ংক্রিয়ভাবে বের করতে পারে তবে তার চারপাশে একটি সুসংজ্ঞাত ভাষা গঠন প্রবর্তন করুন।
তাত্ক্ষণিক উদাহরণটি মনে আসে সি # তে অটো-প্রোপার্টি (একমাত্র ভাষা নয় যা এরকম কিছু রয়েছে): প্রদত্ত যে কোনও অ্যাপ্লিকেশনে বেশিরভাগ গ্রাহক / সেটাররা কোনও ক্ষেত্রের চারপাশে কেবলমাত্র মোড়ক, কেবল বিকাশকারীকে তাদের নির্দেশ করতে দেয় অভিপ্রায় এবং সংকলকটি বাকী ইনজেকশন দিন।
যা তখন আমাকে ভাবতে বাধ্য করে: বেশিরভাগ সি স্টাইলের ভাষা ইতিমধ্যে কিছুটা হলেও এটি করে। স্বয়ংক্রিয়ভাবে সন্ধান করা যায় এমন জিনিসগুলির জন্য, কেবল বাক্যটিকে সংশোধন করুন:
if (true == x)
{
dothis();
}
else
{
dothat();
}
এটিকে হ্রাস করা যেতে পারে:
if (true == x)
dothis();
else
dothat();
শেষ পর্যন্ত, আমি মনে করি এটি এটিতে নেমে আসে: প্রবণতা হ'ল আপনি সংকলকটিকে "স্মার্ট" বা "আলগা" করবেন না। এটি এমন ভাষা যা চৌকস বা আলগা হয়।
এছাড়াও অতিরিক্ত "সহায়তা" বিপজ্জনক হতে পারে যেমন ক্লাসিক "যদি" বাগ:
if (true == x)
if (true == y)
dothis();
else
dothat();