آموزش رایگان PHP

آموزش کامنت‌گذاری در PHP بر اساس استاندارد گوگل و Clean Code

21م خرداد 1405 محراب حسن زاده
آموزش کامنت‌گذاری در PHP بر اساس استاندارد گوگل و Clean Code

مقدمه؛ چرا کامنت‌گذاری اصولی در PHP اهمیت دارد؟

بسیاری از برنامه‌نویسان فکر می‌کنند کامنت‌گذاری فقط نوشتن چند خط توضیح ساده بالای کدها است. اما بر اساس استانداردهای مهندسی نرم‌افزار گوگل، کامنت‌ها باید چراایی (Why) اجرای یک کد را توضیح دهند، نه چگونگی (How) آن را. کدی که خوب نوشته شده باشد، خودش چگونگی کارکردش را نشان می‌دهد؛ بنابراین کامنت‌ها باید اطلاعات ارزشمندی را ارائه دهند که از خود کد قابل برداشت نیست.

 

انواع کامنت‌گذاری در PHP

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

  • کامنت‌های یک‌خطی (Single-line): با استفاده از //
  • کامنت‌های چندخطی (Multi-line): با استفاده از /* ... */
  • بلاک‌های مستندسازی (DocBlocks): با استفاده از /** ... */

توجه داشته باشید که استفاده از علامت هش # برای کامنت‌گذاری تک‌خطی در PHP مجاز است، اما در استانداردهای مدرن و گوگل، استفاده از // به شدت ترجیح داده می‌شود.

 

اصول کلیدی کامنت‌گذاری بر اساس استانداردهای گوگل

۱. کامنت‌های بدیهی را حذف کنید

گوگل تأکید دارد که نباید خطوط واضح کد را مجدداً با زبان عامیانه تکرار کرد. این کار فقط باعث شلوغی و کاهش خوانایی کد می‌شود.


< ? p h p 

// BAD: این کامنت کاملاً بیهوده است!
$userCount = 0; // مقداردهی اولیه متغیر تعداد کاربران به صفر

// GOOD: کامنت توضیح می‌دهد که چرا این مقدار اولیه انتخاب شده است
// We start at -1 because the main server's response code starts indexing from zero.
$statusIndex = -1;

? >

۲. استاندارد نوشتن کامنت‌های TODO

گاهی نیاز است کارهایی را در آینده روی کد اعمال کنیم. طبق استاندارد گوگل، کامنت‌های TODO باید شامل نام کاربری یا ایمیل شخص ثبت‌کننده در پرانتز باشد تا مسئول پیگیری آن مشخص باشد.


< ? p h p

// TODO(alireza): بهینه‌سازی کوئری دیتابیس برای جلوگیری از سربار حافظه در رکوردهای بالا
$results = $db--->fetchAll("SELECT * FROM large_table");
? > 

۳. مستندسازی متدها و کلاس‌ها با PHPDoc

برای متدها و توابعی که ورودی و خروجی‌های متعددی دارند، باید از بلاک‌های استاندارد PHPDoc استفاده کنید. این کار به ویرایشگرها (مانند VS Code یا PHPStorm) کمک می‌کند تا نوع داده‌ها (Type Hinting) را بهتر تشخیص دهند.


< ? p h p

/**
 * Calculates the total price including dynamic tax.
 *
 * @param float $price The base price of the item.
 * @param float $taxRate The tax percentage (e.g., 0.09 for 9%).
 * @return float The calculated final price.
 * @throws InvalidArgumentException If price is negative.
 */
function calculateTotalPrice(float $price, float $taxRate): float
{
    if ($price < 0) {
        throw new InvalidArgumentException("Price cannot be negative.");
    }
    return $price + ($price * $taxRate);
}
? > 

 

قوانین طلایی برای نوشتن کامنت‌های پاک (Clean Code)

  1. به‌روز نگه‌داشتن کامنت‌ها: اگر کدی را تغییر دادید، حتماً کامنت‌های مربوط به آن را نیز به‌روزرسانی کنید. کامنت قدیمی و نادرست از بی‌کامنت بودن بدتر است.
  2. استفاده از گرامر و املای صحیح: کامنت‌ها باید ساختار جمله‌ای مرتب داشته باشند و با حروف بزرگ شروع شده و به نقطه ختم شوند (به‌خصوص در زبان انگلیسی).
  3. پرهیز از کدهای کامنت شده: هرگز کدهای قدیمی یا استفاده نشده را کامنت نکنید تا در آینده استفاده کنید؛ برای این کار از سیستم‌های کنترل نسخه مثل Git استفاده کنید. کدهای کامنت‌شده پروژه را کثیف می‌کنند.

 

نتیجه‌گیری

رعایت استانداردهای گوگل در کامنت‌نویسی PHP باعث می‌شود که کدهای شما به یک مستند زنده تبدیل شوند. کار تیمی روان‌تر شده و فرآیند نگهداری و توسعه نرم‌افزار با سرعت و دقت بسیار بیشتری انجام می‌گیرد. تلاش کنید از امروز اصول PHPDoc و کامنت‌های متمرکز بر «چرا» را در پروژه‌های خود پیاده‌سازی کنید.


پیشنمایش

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش کامل ثابت‌ها در PHP: تفاوت عمیق define و const طبق استانداردهای گوگل
24م خرداد 1405

آموزش کامل ثابت‌ها در PHP: تفاوت عمیق define و const طبق استانداردهای گوگل

مطالعه بیشتر
آموزش جامع اینترفیس‌ها و کلاس‌ها (Classes) در ES6 جاوا اسکریپت: مفاهیم و کاربردها
28م مهر 1403

آموزش جامع اینترفیس‌ها و کلاس‌ها (Classes) در ES6 جاوا اسکریپت: مفاهیم و کاربردها

مطالعه بیشتر
آموزش اصول طراحی الگوهای برنامه‌نویسی (Design Patterns) در جاوا اسکریپت: راهنمای جامع با مثال‌ها
4م آبان 1403

آموزش اصول طراحی الگوهای برنامه‌نویسی (Design Patterns) در جاوا اسکریپت: راهنمای جامع با مثال‌ها

مطالعه بیشتر
آموزش CSS Blend Modes: ادغام رنگ‌ها و تصاویر برای طراحی وب جذاب
9م آبان 1403

آموزش CSS Blend Modes: ادغام رنگ‌ها و تصاویر برای طراحی وب جذاب

مطالعه بیشتر
آموزش CSS Transform و Transition: تبدیل‌ها و ایجاد تغییرات ظاهری پویا
10م شهریور 1402

آموزش CSS Transform و Transition: تبدیل‌ها و ایجاد تغییرات ظاهری پویا

مطالعه بیشتر
آموزش اصول کار با WebSockets و ارتباطات بلادرنگ در وب: راهنمای کامل
5م آبان 1403

آموزش اصول کار با WebSockets و ارتباطات بلادرنگ در وب: راهنمای کامل

مطالعه بیشتر
استفاده از setTimeout و setInterval در جاوا اسکریپت: آموزش کامل و مثال‌ها
29م مهر 1403

استفاده از setTimeout و setInterval در جاوا اسکریپت: آموزش کامل و مثال‌ها

مطالعه بیشتر
استفاده از overflow در CSS برای مدیریت محتوای اضافی: راهنمای کامل و کاربردی
11م آبان 1403

استفاده از overflow در CSS برای مدیریت محتوای اضافی: راهنمای کامل و کاربردی

مطالعه بیشتر
آموزش جامع عملگرهای مقایسه‌ای در PHP؛ بررسی تفاوت == و ===
3م تیر 1405

آموزش جامع عملگرهای مقایسه‌ای در PHP؛ بررسی تفاوت == و ===

مطالعه بیشتر
مقدمه‌ای به template و دیتابایندینگ در Vue.js: نحوه مدیریت داده‌ها و رندرینگ پویا
28م شهریور 1402

مقدمه‌ای به template و دیتابایندینگ در Vue.js: نحوه مدیریت داده‌ها و رندرینگ پویا

مطالعه بیشتر
آموزش استفاده از تگ‌های خاص HTML: تگ‌های کاربردی برای طراحی وب‌سایت
22م مرداد 1402

آموزش استفاده از تگ‌های خاص HTML: تگ‌های کاربردی برای طراحی وب‌سایت

مطالعه بیشتر
کار با تصاویر SVG در CSS: کنترل استایل و استفاده از گرافیک‌های مقیاس‌پذیر
16م آبان 1403

کار با تصاویر SVG در CSS: کنترل استایل و استفاده از گرافیک‌های مقیاس‌پذیر

مطالعه بیشتر

تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد