$
ভেরিয়েবলগুলি ব্যবহার করার ক্ষেত্রে কোনও ভুল নেই । আমি প্রতিটি ভেরিয়েবলের ভিত্তিতে এটি করব না, তবে এটি এখনও একটি বৈধ বাক্য গঠন। jQuery এমন উদাহরণগুলির মধ্যে একটি যেখানে $
ভেরিয়েবল নাম হিসাবে ব্যবহৃত হয়। এজন্যই "ক্রোম ডেভ সরঞ্জামগুলি সর্বদা এটি জাভাস্ক্রিপ্ট ত্রুটি দেখায় না" , কারণ প্রথম স্থানে কোনও ত্রুটি নেই।
আপনি যদি কোডটি লিখতে ভয় পান তবে:
var demo = function demo() {
var a = 123;
...
$a = 456; // A new variable is created in global scope.
}
তারপরে আপনাকে স্টাইলের পরীক্ষক যেমন jsLint , jsHint বা গুগল ক্লোজার লিন্টার ব্যবহার করতে হবে । এর মধ্যে কোনটি? এটি একটি পছন্দ করা আপনার উপর নির্ভর করে। এটিতে আপনাকে সহায়তা করতে এখানে কয়েকটি নোট দেওয়া হল:
শৈলী
গুগল ক্লোজার লিন্টার গুগল জাভাস্ক্রিপ্ট স্টাইল গাইড অনুসরণ করে , যা চতুরতার সাথে সম্পন্ন বলে জানা যায়। জাভাস্ক্রিপ্ট বা অন্য ছয়টি ভাষার যে কোনও একটি জন্য সুপরিচিত শৈলী ব্যবহার করা ভাল ধারণা: আপনি যখন নিজের কোডটি ভাগ করেন বা কোনও নতুন বিকাশকারী নিয়োগ করেন, সম্ভবত তারা ইতিমধ্যে এই স্টাইলের সাথে পরিচিত।
অনেক বিকাশকারী ডগলাস ক্রকফোর্ড স্টাইলের সাথেও পরিচিত। এই স্টাইলটি জাভাস্ক্রিপ্টে বিশদভাবে ব্যাখ্যা করা হয়েছে : গুড পার্টস , জাভাস্ক্রিপ্টের সাথে কাজ করে এমন যে কেউ মূল্যবান বইটি কিনে ফেলবে।
JsHint হিসাবে, আমি কী কনভেনশন ব্যবহার করা হয় তা সত্যিই খুঁজে পাচ্ছি না এবং ওয়েবসাইটটি নিজেই এই বিষয়ে কথা বলা এড়াতে বলে মনে হচ্ছে। আমি কিছু মিস করেছি
আইডিই দ্বারা সমর্থন
JsLint এবং jsHint উভয়ই PhpStorm দ্বারা সমর্থিত । এই এছাড়াও কেস গুগল বন্ধ Linter করুন।
পরিবেশ
গুগল বন্ধ Linter একটি অন্যতম টুলস সিরিজ । আপনি যদি ইতিমধ্যে গুগল ক্লোজার কম্পাইলার বা গুগল ক্লোজার লাইব্রেরি ব্যবহার করে থাকেন তবে অন্যান্য সরঞ্জামগুলির চেয়ে ক্লোজার লিন্টার বেছে নেওয়া ভাল।
কষাকষি
jsLint কঠোর হিসাবে পরিচিত। jsHint আরও অনুমোদনযোগ্য, যা সর্বদা ভাল জিনিস নয়। উদাহরণস্বরূপ, jsLint এর জন্য কাঁটাচামচ করার একটি কারণ একটি নিবন্ধে ব্যাখ্যা করা হয়েছে যা খারাপ কোড দেখায় যা jsLint এ ত্রুটি তৈরি করবে, তবে jsHint এ নয়:
/*global jQuery */
// Example taken from jQuery 1.4.2 source
jQuery.extend({
/* ... */
isEmptyObject: function( obj ) {
for ( var name in obj ) {
return false;
}
return true;
}
/* ... */
});
কোডটি খারাপ, কারণ দেখে মনে হচ্ছে জাভাস্ক্রিপ্টের ব্লক স্কোপ রয়েছে, যদিও এটি নেই। জাভাস্ক্রিপ্ট দেখুন: গুড পার্টস, পি। 102, পরিশিষ্ট একটি: ভয়াবহ অংশ, সুযোগ। অন্য কথায়, ভাষা না জেনে কোডটির দিকে তাকানো আমরা name
লুপের বাইরে দৃশ্যমান না হওয়ার প্রত্যাশা করি , যদিও এটি দৃশ্যমান থাকবে।
গুগল ক্লোজার লিন্টার হিসাবে, আমি বিশ্বাস করি যে এটি jsLint এবং jsHint এর মাঝখানে কোথাও আছে, তবে সেটিকে সমর্থন করার মতো পর্যাপ্ত তথ্য আমার কাছে নেই।
উপসংহার
আমি জেএসিন্ট এড়িয়ে চলব: এটি অত্যন্ত অনুমোদনযোগ্য, যার অর্থ এটি অন্যান্য লিটারগুলি সনাক্ত করতে পারে এমন সম্ভাব্য বাগগুলি খুঁজে পাবে না। স্টাইল গাইড যা ব্যবহৃত হয় তা খুঁজে পাওয়া শক্ত।
JsLint এবং গুগল বন্ধ লিন্টারগুলির মধ্যে পছন্দটি সুস্পষ্ট নয়। উভয়ই বিশেষজ্ঞদের দ্বারা লিখিত, দু'জনেই ইতিমধ্যে কয়েক হাজার বিকাশকারী দ্বারা অনুসরণ করা কঠোর, ভাল বর্ণিত স্টাইল গাইড অনুসরণ করে। কিছু সময়ের জন্য উভয় ব্যবহার করুন, তারপরে আপনার জন্য আরও ব্যবহারিক যেটি বেছে নিন।