مدرسه وب میکرز: استانداردهای کدنویسی php در وردپرس
وردپرس با وجود تیم بسیار قدرتمند مدیریت و برنامه نویسی بعضی قسمت های بسیار کوچک کدنویسی شده از سبک منسجم و برنامه ریزی شده خاصی بهره نبرده است، به همین خاطر وردپرس می خواهد به کمک کاربرانش این مشکل را از بین ببرد. اما به یاد داشته باشید کدهای نوشته شده هسته کاملا قدرتمند و تقریبا بدون اشکال هستند اما همانطور که می دانید کاربران بسیار زیادی مشغول برنامه نویسی در قسمت های مختلف وردپرس هستند که می توان این را دلیل اصلی بی نظمی های کوچک در برخی نقاط دانست حال شما اگر در هسته وردپرس، پوسته و یا در یک پلاگین برنامه نویسی می کنید بهتر است نکات و استانداردهای زیر را در کارتان رعایت کنید؛
- تک کوتیشن و دو کوتیشن
از هرکدام از کاراکترهای تک و دو کوتیشن در زمان مناسبش استفاده کنید. در برنامه نویسی این زبان عموما کاربران تفاوت مهمی میان استفاده از تک و دابل کوتیشن وجود دارد که باید به آن توجه داشت.
echo ‘<a href=”/static/link” title=”Yeah yeah!”>Link name</a>’;
echo “<a href=’$link’ title=’$linktitle’>$linkname</a>”;
در این مثال باید توجه داشته باشید که تک کوتیشن ها اجازه جانشین سازی را نمیدهند یعنی برای چاپ محتویات یک متغیر در تک کوتیشن محتویات چاپ نخواهد شد و تنها نام متغیر است که به خروجی فرستاده می شود.
- فرو رفتگی و دندانه
در برنامه نویسی های حرفه ای با کدهای زیاد همیشه به یاد داشته باشید از فرورفتگی و دندانه ها استفاده کنید. یعنی دستورات داخلی را با تب از دستورات بالاییش جدا کنید و دستورات همسان را در یک ردیف قرار دهید، با این کار در موقع اصلاح یا تغییر کدها هم خودتان با آن راحتتر کار خواهید کرد و اگر شخص دیگری نیز بخواهد آن را ببیند می تواند به آسانی کدها و مکانشان را تشخیص دهد.
[tab]$foo = ‘somevalue’;
[tab]$foo2 = ‘somevalue2’;
[tab]$foo34 = ‘somevalue3’;
[tab]$foo5 = ‘somevalue4’;
برای آرایه ها هم مقادیر و دستورات را در خط جدید شروع کنید و همچنین به یاد داشته باشید در آخر آخرین دستورات آرایه کاما را قرار دهید.
$my_array = array(
[tab]’foo’ => ‘somevalue’,
[tab]’foo2′ => ‘somevalue2’,
[tab]’foo3′ => ‘somevalue3’,
[tab]’foo34′ => ‘somevalue3’,
);
در فاصله دهی ها می توانید از اسپیس نیز استفاده کنید؛ برای اینکار از اسپیس همیشه در وسط خط و از تب در اول خط استفاده کنید.
- از مختصرنویسی و استفاده از کدهای کوچک خودداری کنید
در برنامه نویسی هایتان هیچ وقت از کدهای خلاصه استفاده نکنید و همیشه دستور کامل آن را بنویسید.
صحیح:
<?php … ?>
<?php echo $var; ?>
ناصحیح:
<? … ?>
<?=$var ?>
- استفاده از اسپیس
سعی کنید از اسپیس در مکان های مناسب استفاده کنید؛ به عنوان مثال همیشه بعد از کاما فاصله قرار دهید. در هر دو طرف عبارات منطقی، مقایسه ای، رشته ها و علامت های انتسابی از کاما استفاده کنید.
x == 23
foo && bar
! foo
array( 1, 2, 3 )
$baz . ‘-5’
$term .= ‘X’
در هر دو طرف پرانتزهای دستورات if، elseif، foreach، for و switch فاصله قرار دهید.
foreach ( $foo as $bar ) { …
اگر می خواهید تابعی را بنویسید با استانداری مطابق این بنویسید:
function my_function( $param1 = ‘foo’, $param2 = ‘bar’ ) { …
هنگام فراخوانی تابع از استانداردی مطابق این پیروی کنید:
my_function( $param1, func_param( $param2 ) );
استاندارد نوشتن مقایسه های منطقی:
if ( ! $foo ) { …
هنگام اشاره به عناصر آرایه در صورتی به آن فاصله دهید که ایندکس و همچنین متغیر باشد. مثال ها:
$x = $foo[‘bar’]; // صحیح
$x = $foo[ ‘bar’ ]; // ناصحیح
$x = $foo[0]; // صحیح
$x = $foo[ 0 ]; // ناصحیح
$x = $foo[ $bar ]; // صحیح
$x = $foo[$bar]; // ناصحیح
- قوانین نام گذاری
از کلمات کوچک در نام گذاری متغیر، توابع و… استفاده کنید و سعی کنید هیچوقت با سبک (camelCase) نام گذاری نکنید.
در نام گذاری ها کلمات را با آندرلاین از هم جدا کنید.
همچنین از کلمات اختصار بی معنی که باعث سردرگمی می شوند استفاده نکنید و نام گذاری ها را طوری قرار دهید که ابهامی در آنها وجود نداشته باشد.
function some_name( $some_variable ) { […] }
نام کلاسها بهتر است از حروف بزرگ در اول آن استفاده کرد و در استفاده از نام های مختصر نیز بهتر است تماما حروف بزرگ را به کار برد.
class Walker_Category extends Walker { […] }
class WP_HTTP { […] }
در نام گذاری فایلها نیز بهتر است نام فایل توصیفی از محتویات و کار فایل باشد و در آن از کلمات کوچک و در جدا کردن ها از خط فاصله استفاده کرد.
my-plugin-name.php
نام گذاری فایل کلاس بهتر است بر اساس نام کلاس باشد. برای این کار ابتدا class- را در نام گذاری قرار داده و سپس نام کلاس(با تفاوت قرار دادن خط فاصله به جای خط زیر(آندرلاین)) را به آن اضافه کنید.
class-wp-error.php
این قوانین و استانداردهای نام گذاری مشمول تمامی فایل ها می شوند به جز سه فایل که به عنوان استثنا نام برده شده اند. class.wp-dependencies.php، class.wp-scripts.php، class.wp-styles.php نام این سه فایل است.
- مقایسه ها – شرطی
if ( true == $the_force ) {
$victorious = you_will( $be );
}
در مقایسه های منطقی همیشه متغیر را در سمت راست و ثابت و لیترال ها را در سمت چپ قرار دهید.
در مثال بالا اگر یکی از علامت های مساوی را حذف کنیم قطعا با خطای پارس ارور مواجه خواهیم شد چون نمی توانیم به ثابت چیزی را تخصیص دهیم. اما اگر این دستور به صورت دیگر یعنی $the_force = true نوشته شود کاملا درست خواهد بود.
- کد باهوش
به طور کلی خوانا و قابل درک بودن کد از هوشمندانه و مختصر بودن آن مهمتر است.
isset( $var ) || $var = some_function();
اگر چه خط بالا بسیار مختصر و هوشمندانه است اما شاید بیشتر افراد با آن آشنایی نداشته باشند و یا به سختی بتوانند به مفهوم آن پی ببرند. حال این دستور را به صوتی زیر می نویسیم:
if ( ! isset( $var ) )
$var = some_function();
کاملا قابل درک…