সবসময় বৈশিষ্ট্য এবং পদ্ধতি পরীক্ষা না করে আপনি কীভাবে জাভাস্ক্রিপ্টে হাঁসের টাইপিং ব্যবহার করবেন?
সহজ: সর্বদা বৈশিষ্ট্য এবং পদ্ধতি পরীক্ষা করবেন না।
রুবিতে, আপনি যা কল করছেন তাকে "চিকেন টাইপিং" বলা হয়। একটি গতিশীল হাঁস-টাইপযুক্ত, ভাষায়, আপনি কেবল বিশ্বাস করেন যে কলার আপনাকে একটি উপযুক্ত জিনিস দেয় passes চুক্তির পক্ষে তাঁর পক্ষকে সম্মান জানানো এই কলারের কাজ।
আমি জানি জাভাস্ক্রিপ্টটি হাঁসের টাইপিং ব্যবহার করে এবং প্রথমে আমি ভেবেছিলাম যে এটি সি # এর মতো দৃ strongly়ভাবে টাইপ করা ভাষার তুলনায় বহুবর্ষকে সহজ করে তুলবে।
আপনি এখানে টাইপ করার একাধিক অরথোগোনাল অক্ষকে বিভ্রান্ত করছেন। টাইপিংয়ের চারটি অर्थোগোনাল অক্ষ রয়েছে:
- কখন : ডায়নামিক টাইপিং (প্রকারগুলি রানটাইম না হওয়া পর্যন্ত সনাক্ত করা যায় না এবং পরীক্ষা করা হয় না) বনাম স্ট্যাটিক টাইপিং (রানটাইমের আগে টাইপগুলি পরিচিত এবং পরীক্ষা করা হয়)
- কি : হাঁসের টাইপিং (প্রকার আচরণের ভিত্তিতে হয় ), কাঠামোগত টাইপিং (প্রকারগুলি কাঠামোর উপর ভিত্তি করে ) এবং নামমাত্র টাইপিং (প্রকারগুলি নামের উপর ভিত্তি করে )
- আপনি তাদের দেখতে পারেন? সুস্পষ্ট টাইপিং (প্রকারগুলি স্পষ্টরূপে বর্ণিত করতে হবে) বনাম অন্তর্নিহিত টাইপিং (প্রকারগুলি অনুমান করা হয়)
- শক্তিশালী টাইপিং বনাম দুর্বল টাইপিং - আপনি খেয়াল করতে পারেন যে আমি এটিকে একটি আকর্ষণীয় শিরোনাম বা প্রথম বন্ধনীতে কোনও ব্যাখ্যা দিইনি, কারণ উপরের সাতটি শর্তের বিপরীতে, যার প্রতিটিটিরই সর্বজনীন-স্বীকৃত সঠিক সংজ্ঞা রয়েছে, এই দুটি পদ একে অপরের বিরোধী প্রায় এক ডজন আধা-বহুল ব্যবহৃত অস্পষ্ট সংজ্ঞা রয়েছে; আদর্শভাবে আপনার পুরোপুরি এই পদগুলি এড়ানো উচিত এবং যদি আপনার এগুলি অবশ্যই ব্যবহার করা হয় তবে প্রথমে সেগুলি অবশ্যই সংজ্ঞায়িত করুন
যেহেতু আপনি সি # উল্লেখ করেছেন: এটি বেশিরভাগ স্থিতিযুক্ত টাইপযুক্ত তবে প্রকারের মাধ্যমে ডায়নামিক টাইপ সমর্থন করে, তবে dynamic
এটি বেশিরভাগ নামমাত্র টাইপ করা হয় তবে বেনামে ধরণের কাঠামোগত টাইপ ব্যবহার হয় এবং সিনট্যাক্টিক প্যাটার্নগুলি (যেমন লিনকিউ ক্যোয়ারী বোঝার সিনট্যাক্স) হয় হাঁসের হিসাবে যুক্তিযুক্ত হতে পারে টাইপযুক্ত বা কাঠামোগতভাবে টাইপ করা হয়, এটি বেশিরভাগ স্পষ্টভাবে টাইপ করা হয় তবে জেনেরিক টাইপ আর্গুমেন্ট এবং স্থানীয় ভেরিয়েবলের জন্য অন্তর্নিহিত টাইপিং সমর্থন করে (যদিও স্থানীয় ভেরিয়েবল কেস বেশিরভাগ অন্যান্য ভাষার তুলনায় অদ্ভুত, কারণ আপনি কেবল টাইপটি ছাড়তে পারবেন না, পরিবর্তে আপনাকে আপনাকে আলাদা করতে হবে) এটিকে স্পষ্টত ছদ্ম-প্রকার দিনvar
অন্য কথায়, আপনি যদি একটি অন্তর্নিহিত প্রকার চান, আপনার স্পষ্টভাবে এটি বলতে হবে)। সি # শক্তিশালী বা দুর্বলভাবে টাইপ করা হোক না কেন আপনি দুটি শব্দের যে সংজ্ঞাটি ব্যবহার করছেন তা হ'ল তবে লক্ষ করুন যে সি # তে প্রচুর রানটাইম টাইপ ত্রুটি হতে পারে বিশেষত অনিরাপদ অ্যারে কোভেরিয়েন্সের কারণে।
আমি জানি আমি কেবল পরীক্ষা করতে পারি না, তবে জাভাস্ক্রিপ্ট রান টাইম ত্রুটিগুলি ট্র্যাক করা দুঃস্বপ্ন হতে পারে যেহেতু কোডটিতে ত্রুটি আসলেই ঘটে থাকে সেখানে তারা সর্বদা ঘটে না।
ডিবাগিং শেখা সহজ কৌশল নয়। তবে, ডিবাগিং সহজ করার জন্য কৌশল রয়েছে, উদাহরণস্বরূপ সাফ স্কুইজ কেন্ট বেক দ্বারা বর্ণিত একটি কৌশল যা ডিবাগিংয়ের জন্য পরীক্ষাগুলি এবং রিফ্যাক্টরিং ব্যবহার করে:
রিগ্রেশন টেস্টিং এবং সাফ স্কুইজ
কেন্ট বেক, তিনটি নদী ইনস্টিটিউট
বিমূর্ততা: কার্যকরভাবে একটি ত্রুটি বিচ্ছিন্ন করতে, সিস্টেম-স্তরের পরীক্ষা দিয়ে শুরু করুন এবং ক্রমবর্ধমানভাবে ইনলাইন এবং ছাঁটাই করুন যতক্ষণ না আপনার ত্রুটিটি দেখানো সম্ভব সবচেয়ে ছোট পরীক্ষা হয়।