JavaScript:راهنمای استایل و استانداردهای کدنویسی در جاوااسکریپت

از ویکی کد
پرش به ناوبری پرش به جستجو
دورهٔ آموزشی جاوااسکریپت
Javascript.jpg
جاوااسکریپت
موارد آموزشی
۱آموزش جاوااسکریپت
۲مقدمه‌ای بر جاوااسکریپت
۳JavaScript:قوانین و اصول اولیه زبان جاوااسکریپت
۴JavaScript:خروجی جاوااسکریپت
۵JavaScript:عبارت‌ها در جاوااسکریپت
۶JavaScript:شیوهٔ نوشتن (Syntax) عبارات یا دستورات در جاوااسکریپت
۷JavaScript:نظرات یا کامنت‌ها (Comments) در جاوااسکریپت
۸JavaScript:متغیرها در جاوااسکریپت
۹JavaScript:عملگرهای جاوااسکریپت
۱۰JavaScript:عملگرهای ریاضی در جاوااسکریپت
۱۱JavaScript:عملگرهای مقداردهی در جاوااسکریپت
۱۲JavaScript:انواع داده‌ها در جاوااسکریپت
۱۳JavaScript:توابع در جاوااسکریپت
۱۴JavaScript:اشیاء (object) در جاوااسکریپت
۱۵JavaScript:رویدادها در جاوااسکریپت
۱۶JavaScript:رشته‌های متنی (string) در جاوااسکریپت
۱۷JavaScript:متدهای نوع داده متنی یا رشته‌ای در جاوااسکریپت
۱۸JavaScript:اعداد در جاوااسکریپت
۱۹JavaScript:متدهای داده‌های عددی در جاوااسکریپت
۲۰JavaScript:آرایه‌ها در جاوااسکریپت
۲۱JavaScript:متدهای آرایه در جاوااسکریپت
۲۲JavaScript:مرتب‌سازی آرایه‌ها در جاوااسکریپت
۲۳JavaScript:متدهای پیمایش آرایه در جاوااسکریپت
۲۴JavaScript:اشیاء تاریخ و زمان در جاوااسکریپت
۲۵JavaScript:فرمت‌های تاریخ و زمان در جاوااسکریپت
۲۶JavaScript:متدهای دریافت تاریخ و زمان در جاوااسکریپت
۲۷JavaScript:متدهای تنظیم زمان و تاریخ در جاوااسکریپت
۲۸JavaScript:شی ریاضی (Math) در جاوااسکریپت
۲۹JavaScript:ایجاد عدد تصادفی در جاوااسکریپت
۳۰JavaScript:مقادیر بولین (Booleans) در جاوااسکریپت
۳۱JavaScript:عملگرهای منطقی و مقایسه‌ای در جاوااسکریپت
۳۲JavaScript:ساختار if else و else if در جاوااسکریپت
۳۳JavaScript:تکه کد Switch در جاوا اسکریپت
۳۴JavaScript:حلقه For در جاوااسکریپت
۳۵JavaScript:حلقه While در جاوااسکریپت
۳۶JavaScript:کلمات کلیدی Break و Continue در جاوااسکریپت
۳۷JavaScript:تبدیل نوع داده‌ها در جاوااسکریپت
۳۸JavaScript:عملیات‌های بیتی در جاوااسکریپت
۳۹JavaScript:عبارات با قاعده در جاوااسکریپت
۴۰JavaScript:خطاها در جاوااسکریپت - رخ دادن خطا و رفع آن
۴۱JavaScript:Scope در جاوااسکریپت
۴۲JavaScript:Hoisting یا جا به جایی کدها در جاوااسکریپت
۴۳JavaScript:استفاده از مد یا حالت سخت‌گیرانه (use strict) در جاوااسکریپت
۴۴JavaScript:کلمه کلیدی This در جاوااسکریپت
۴۵JavaScript:کلمه کلیدی Let در جاوااسکریپت
۴۶JavaScript:ثابت‌ها در جاوااسکریپت
۴۷JavaScript:تعریف توابع به صورت پیکان
۴۸JavaScript:کلاس‌ها در جاوااسکریپت
۴۹JavaScript:اشکال‌زدایی در جاوااسکریپت
۵۰JavaScript:راهنمای استایل و استانداردهای کدنویسی در جاوااسکریپت
۵۱JavaScript:بهترین تمرینات جاوااسکریپت
۵۲JavaScript:اشتباهات رایج در برنامه‌نویسی جاوااسکریپت
۵۳JavaScript:کارایی در جاوااسکریپت
۵۴JavaScript:کلمات رزرو شده در جاوااسکریپت
۵۵JavaScript:ورژن‌های جاوااسکریپت
۵۶JavaScript:ECMAScript 5 - JavaScript 5
۵۷JavaScript:ECMAScript 6 - ECMAScript 2015
۵۸JavaScript:جیسون (JSON) در جاوااسکریپت
فرم‌ها
۱JavaScript:فرم‌ها در جاوااسکریپت
۲JavaScript:API ارزشیابی در جاوااسکریپت
اشیاء (Object)
۱JavaScript:اشیاء در جاوااسکریپت
۲JavaScript:ویژگی‌های اشیاء در جاوااسکریپت
۳JavaScript:متدهای اشیاء در جاوااسکریپت
۴JavaScript:روش‌های دسترسی به شیء در جاوااسکریپت
۵JavaScript:سازنده‌های شیء در جاوااسکریپت
۶JavaScript:شکل اصلی شیء در جاوااسکریپت
۷JavaScript:متدهای شیء در ورژن ES5 جاوااسکریپت
تابع
۱JavaScript:تعریف تابع در جاوااسکریپت
۲JavaScript:پارامتر توابع در جاوااسکریپت
۳JavaScript:فراخوانی تابع در جاوااسکریپت
۴JavaScript:صدا کردن تابع در جاوااسکریپت
۵JavaScript:تابع Apply در جاوااسکریپت
۶JavaScript:بسته‌ها (به انگلیسی: Closures) در جاوااسکریپت
HTML DOM
۱JavaScript:HTML DOM در جاوااسکریپت
۲JavaScript:متدهای HTML DOM در جاوااسکریپت
۳JavaScript:HTML DOM Document در جاوااسکریپت
۴JavaScript:عناصر HTML DOM در جاوااسکریپت
۵JavaScript:HTML DOM در جاوااسکریپت - تغییر محتوای HTML
۶JavaScript:DOM در جاوااسکریپت - تغییر CSS
۷JavaScript:انیمیشن در HTML DOM جاوااسکریپت
۸JavaScript:رویدادها در HTML DOM جاوااسکریپت
۹JavaScript:شنونده رویداد در HTML DOM جاوااسکریپت
۱۰JavaScript:پیمایش در HTML DOM جاوااسکریپت
۱۱JavaScript:عناصر (گره‌ها) HTML DOM در جاوااسکریپت
۱۲JavaScript:مجموعه‌های HTML DOM جاوااسکریپت
۱۳JavaScript:لیست گره‌ها در HTML DOM جاوااسکریپت
Browser BOM
۱JavaScript:پنجره جاوااسکریپت - مدل شیء مرورگر
۲JavaScript:پنجره صفحه نمایش در جاوااسکریپت
۳JavaScript:موقعیت پنجره در جاوااسکریپت
۴JavaScript:تاریخچه پنجره در جاوااسکریپت
۵JavaScript:ناوبری پنجره در جاوااسکریپت
۶JavaScript:جعبه پیغام جاوااسکریپت
۷JavaScript:رویدادهای زمان‌بندی شده در جاوااسکریپت
۸JavaScript:کوکی‌های جاوااسکریپت
AJAX
۱JavaScript:مقدمه‌ای بر AJAX
۲JavaScript:AJAX - شیء XMLHttpRequest
۳JavaScript:AJAX - ارسال یک درخواست به سرور
۴JavaScript:AJAX - پاسخ سرور
۵JavaScript:مثال‌های XML در AJAX
۶JavaScript:مثال‌های PHP در AJAX
۷JavaScript:مثال‌های ASP در AJAX
۸JavaScript:مثال پایگاه داده در AJAX
۹JavaScript:نرم‌افزارهای XML
۱۰JavaScript:مثال‌های AJAX
JSON
۱JavaScript:مقدمه‌ای بر JSON
۲JavaScript:شیوهٔ نوشتار JSON
۳JavaScript:JSON در برابر XML
۴JavaScript:انواع داده‌های مجاز در JSON
۵متد JSON.parse()
۶متد JSON.stringify()
۷JavaScript:اشیاء JSON
۸JavaScript:آرایه‌ها در JSON
۹JavaScript:PHP در JSON
۱۰JavaScript:HTML در JSON
۱۱JavaScript:JSONP
jQuery
۱JavaScript:جاوااسکریپت / انتخابگرهای DOM جی‌کوئری
۲JavaScript:جاوااسکریپت / عناصر HTML جی‌کوئری
۳JavaScript:جاوااسکریپت / استایل‌های CSS در جی‌کوئری
۴JavaScript:جاوااسکریپت / HTML DOM در جی‌کوئری

همیشه از یک استاندارد مشابه در تمامی پروژه‌های جاوااسکریپت خود استفاده کنید. [۱]

استانداردهای کدنویسی در جاوااسکریپت

استانداردهای کدنویسی شیوه‌های طراحی برای برنامه‌نویسی هستند. آنها به طور معمول شامل موارد زیر می‌شوند:

  • نام گذاری و قوانین تعریف کردن متغیرهاو توابع.
  • قوانین برای استفاده از فضای خالی، فاصله‌های اول خطوط (به انگلیسی: indentation) و نظرات (به انگلیسی: comments).
  • تمرین‌ها و الگوهای برنامه‌نویسی.

استانداردهای کدنویسی موجب افزایش کیفیت می‌شود:

  • موجب بهبود خوانایی کد می‌شود.
  • فرایند بهبود دادن کدها را آسان‌تر می‌کند.

استانداردهای کدنویسی را می‌توان به صورت سندهایی برای اعضای تیم اجرا کرد که اعضای تیم از آنها تبعیّت کنند یا تمرین برنامه‌نویسی شما باشند.


نام متغیرها

در وب سایت wikicod، ما از روش کوهان شتری برای معرفی کننده (نام متغیرها و توابع) استفاده می‌کنیم.

تمامی نام‌ها با یک حرف شروع می‌شوند.

در پایین این صفحه شما مطالب گسترده‌تری را در مورد قوانین نامگذاری خواهید آموخت.

firstName = "John";
lastName = "Doe";

price = 19.90;
tax = 0.20;

fullPrice = price + (price * tax);

فضای خالی بین عملگرها

همیشه دور و اطراف عملگرها(= + - * /)، و بعد از ویرگول‌ها از فضای خالی استفاده کنید:

مثال

var x = y + z;
var values = ["Volvo", "Saab", "Fiat"];

Indent یا فاصله اول خطوط در کدنویسی

همیشه از ۲ فضای خالی SpaceSpace برای indent یا فاصله اول خطوط کد بلاک استفاده کنید:

توابع:

function toCelsius(fahrenheit) {
  return (5 / 9) * (fahrenheit - 32);
}


قوانین عبارت‌ها

قوانین اصلی برای عبارت‌های برنامه‌نویسی ساده عبارتند از:

  • همیشه یک عبارت ساده با نقطه ویرگول یا سمی کالن به پایان می‌رسد.

مثال

var values = ["Volvo", "Saab", "Fiat"];

var person = {
  firstName: "John",
  lastName: "Doe",
  age: 50,
  eyeColor: "blue"
};

قوانین اصلی برای عبارتهای پیچیده (ترکیبی) عبارتند از:

  • بازکردن براکت در انتهای خط اول {.
  • استفاده از یک Space قبل از بازکردن براکت
  • بستن براکت } بدون استفاده از فضای خالی خاص.
  • به پایان نبردن یک عبارت پیچیده با استفاده از ; یا سمیکالن

توابع:

function toCelsius(fahrenheit) {
  return (5 / 9) * (fahrenheit - 32);
}

حلقه‌ها:

for (i = 0; i < 5; i++) {
  x += i;
}

جملات شرطی:

if (time < 20) {
  greeting = "Good day";
} else {
  greeting = "Good evening";
}

قوانین اشیاء

قوانین اصلی برای تعریف اشیاء عبارتند از:

  • باز کردن براکت { در خط مشترک با نام شیء.
  • استفاده از فاصله Space بین هر ویژگی و مقدار آنها.
  • استفاده از علامت کوتیشن ' برای مقدار رشته‌ای، نه برای مقادیر عددی.
  • اضافه نکردن ویرگول بعد از آخرین جفت ویژگی–مقدار.
  • قرار دادن براکت بسته } دریک خط جدید بدون استفاده از فضای خالی خاصی.
  • همیشه به پایان بردن تعریف شی با نقطه ویرگول یا سمیکالن ;.

مثال

var person = {
  firstName: "John",
  lastName: "Doe",
  age: 50,
  eyeColor: "blue"
};

اشیاء کوتاه را می‌توان به صورت فشرده در یک خط با استفاده از فضای خالی فقط بین ویژگی‌ها نوشت، همانند مثال زیر:

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};

طول هر خط ۸۰>

برای خوانایی بیشتر کدتان سعی کنید، از نوشتن بیش از ۸۰ کاراکتر در هر خط بپرهیزید.

اگر یک عبارت جاوااسکریپت در یک خط جا نگرفت، بهترین مکان برای ایجاد فاصله و رفتن به خط بعدی، بعد یک عملگر یا یک ویرگول است.

مثال

document.getElementById("demo").innerHTML =
"Hello Dolly.";

قوانین نام‌گذاری

همیشه از قوانین نام‌گذاری مشابهی در تمام کدهایتان استفاده کنید. برای مثال:

  • نام متغیرها و توابع را به روش کوهان شتری بنویسید.
  • متغیرهای کلی (به انگلیسی: global) را با حروف تمام بزرگ بنویسید. (ما این روش را استفاده نمی‌کنیم اما این روش در بین برنامه‌نویسان رواج دارد)
  • ثابت‌ها (همانند PI) را نیز با حروف تمام بزرگ بنویسید.

آیا لازم است که شما از روش خط‌تیره ، کوهان شتری یا زیرخط _ در نام متغیرها استفاده کنید؟

این سؤالی است که معمولاً برنامه‌نویسان در مورد آن بحث می‌کنند. نتیجه این سؤال به شخصی که شما از آن این سؤال را می‌پرسید بستگی دارد:

خط تیره در HTML و CSS:

ویژگی‌های (به انگلیسی: attributes) HTML5 می‌توانند با -data همانند (data-quantity و data-prrice) شروع شوند.

Css از خط تیره در نام – ویژگی استفاده می‌کند همانند (font-size).


زیرخط _:

بسیاری از برنامه نویسان ترجیح می‌دهند از علامت زیر خط (همانند date_of_birth) به خصوص در دیتابیس SQL استفاده کنند.

Underscores are often used in PHP documentation.

علامت زیرخط _ معمولا در سند سازی‌های php نیز استفاده می‌شود.

روش نامگذاری پاسکال:

روش پاسکال معمولاً توسط برنامه نویسان زبان سی استفاده می‌شود.

روش کوهان شتری:

روش کوهان شتری توسط خود جاوااسکریپت، جی کوئری و سایر کتابخانه‌های جاوااسکریپت استفاده می‌شود.


بارگذاری جاوااسکریپت در HTML

از شیوه نوشتار (به انگلیسی: syntax) زیر برای بارگذاری اسکریپت‌های خارجی (به انگلیسی: External) استفاده کنید. (ویژگی type ضروری نیست):

<script src="myscript.js"></script>

دسترسی به عناصر HTML

در نتیجه استفاده مرتب از سبک‌های (به انگلیسی: styles) HTML ، ممکن است منجر به خطاهای JavaScript شود.

این دو عبارت جاوااسکریپت موجب تولید دو نتیجه متفاوت می‌شود:

var obj = getElementById("Demo")

var obj = getElementById("demo")

در صورت امکان، از قوانین نام‌گذاری (همانند جاوااسکریپت) در HTML نیز استفاده کنید.

Visit the HTML Style Guide.

مشاهده راهنمای استایل‌ها در HTML.

فرمت فایل‌ها

فایل‌های HTML فرمت html. دارند (نه فرمت htm.)

فایل‌های CSS معمولاً فرمت css. دارند.

فایل‌های JavaScript، فرمت js. دارند.

از نامگذاری فایل‌ها با حروف کوچک استفاده کنید

بسیاری از وب سرورها (آپاچی، یونیکس) درمورد نام فایل‌ها حساس به حروف کوچک و بزرگ هستند:

فایل london با فایل London.jpg را نمی‌توان به یک روش مشابه دسترسی داشت.

سایر وب سرورها (ماکروسافت، IIS) حساس به حروف کوچک و بزرگ نیست.

به فایل london.jpg می‌توان همانند فایل‌های London.jpg یا london.jpg دسترسی داشت.

اگر شما حروف کوچک و بزرگ را با یکدیگر در نام فایل‌ها ترکیب کنید، شما می‌بایست نام فایل را به صورت دقیق بنویسید.

اگر شما از وب سرور غیرحساس به حروف کوچک و بزرگ، به یک سرور حساس به حروف کوچک و بزرگ انتقال پیدا کنید، حتی خطاهای کوچک می‌تواند موجب خرابی وب سایت شما شود.

برای جلوگیری از این مشکلات، همیشه از حروف کوچک (در صورت امکان) در نامگذاری آن استفاده کنید.

کارایی

قوانین کدنویسی توسط رایانه‌ها استفاده نمی‌شود. بیشتر قوانین تأثیر اندکی روی اجرای برنامه‌ها دارند.

فاصله از ابتدای خطوط و فواصل اضافی در اسکریپت‌های کوچک مهم نیستند.

برای کد در حال توسعه، خوانا بودن کد باید رعایت باشد. اسکریپتهای بزرگ می‌بایست کوچکتر شوند.

منابع آموزشی