بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
قوائد naming و کد نویسی php بر اساس uncocoder convention
استاندارد های زیادی برای naming وجود دارد، اما ما استاندارد خود را ترجیح می دهیم، چرا که در پروژه های بسیار بزرگ، تست شده و بهترین حالت نامگذاری در نظر گرفته شده است. از طرفی لزوماً convention ایجاد شده توسط یک شرکت بزرگ مثل google یا oracle مورد تأیید نیست، چون در عمل نشان داده خوب کار نمی کند.
نام گذاری Class ها
- نام Class را بصورت UpperCamelCase درج کنید.
- برای آن فاعل در نظر بگیرید و نه فعل و نه اسم، مثل Worker و نه DoWork یا Work
- می توانید قبل از نام آن از تعدادی حروف اختصاصی و _ برای جلوگیری از تداخل با سایر نام Class ها ( که خودتان نوشته اید ) استفاده کنید. مثل UC_DatabaseHelper
نام گذاری Method ها
- Method ها به Function هایی اطلاق می شوند که داخل Class تعریف می شوند. برای قوائد نوشتار Function به پایینتر مراجعه کنید.
- نام Method را بر اساس lowerCamelCase نام گذاری کنید.
- برای آن فعل در نظر بگیرید و نه فاعل و نه اسم، مثل doWork یا getConnection
- از درج _ در نام Method جداً خودداری کنید. ( تداخلی بین Method های Class های مختلف رخ نخواهد داد )
- حتماً نسبت به محدوده دید مورد نیاز، عبارات public, protected, private را درج نمایید.
- چنانچه Method برای Class محسوب می شد آنرا static کنید و در غیراینصورت non static باقی بگذارید.
نام گذاری Field ها
- Field ها به Variable هایی اطلاق می شوند که داخل Class تعریف می شوند. برای قوائد نوشتار Variable به پایینتر مراجعه کنید.
- نام Field را بر اساس lowerCamelCase نام گذاری کنید.
- برای آن اسم در نظر بگیرید و یا مفهوم مناسب را برسانید. از فعل استفاده نکنید. مثل connection یا isBanned
- از درج _ در نام Field جداً خودداری کنید. ( تداخلی بین Field های Class های مختلف رخ نخواهد داد )
- حتماً نسبت به محدوده دید مورد نیاز، عبارات public, protected, private را درج نمایید.
- چنانچه Field برای Class محسوب می شد آنرا static کنید و در غیراینصورت non static باقی بگذارید.
نام گذاری Function ها
- Function ها توابعی هستند که خارج از کلاس ها تعریف می شوند.
- نام Function را بر اساس lowerCamelCase نام گذاری کنید.
- برای آن فعل در نظر بگیرید و نه فاعل و نه اسم، مثل getPostedParams یا getApplicationPath
- برای جلوگیری از تداخل Function ها با سایر Function هایی که شما ننوشته اید می توانید از چند حروف اختصاصی و _ استفاده نمایید مثل uc_getRootPath
نام گذاری Variable ها
- Variable ها متغیرهایی هستند که خارج از کلاس تعریف می شوند.
- نام Variable را بر اساس lowerCamelCase نام گذاری کنید.
- برای آن اسم در نظر بگیرید و یا مفهوم مناسب را برسانید. از فعل استفاده نکنید. مثل connection
- توجه داشته باشید که تعریف متغیر های عمومی ( global ) روش صحیحی نیست. پس تنها Variable ها قرار است در محدود File یا Function یا Method مورد نظر شما دیده شوند. پس نام آن کوتاه و معنی دار باشد.
- به هیچ عنوان از _ در نام متغیر استفاده نکنید ( چون قرار نیست تداخلی بوجود آید )
- برای مقادیری که در طول Application مقدار آنها ثابت است const تعریف کنید، حروف const تماماً بزرگ نوشته می شود و کلمات آن با _ جدا می شود، مثل DB_USERNAME
نام گذاری File ها و Directory ها
- نام File و Directory را بر اساس lowerCamelCase نام گذاری کنید.
- نام فایل را تا حد ممکن کوتاه و یک کلمه ای در نظر بگیرید مثل jalali.php یا نهایتاً jalaliHelper.php
- اگر نام فایل کلاسی را در بر دارد، نام کلاس را بر روی آن قرار دهید. بطور مثال اگر نام کلاس داخل آن UC_JalaliHelper است نام فایل را jalaliHelper.php قرار دهید.
- از درج dot ( . ) های متعدد در نام فایل جداً پرهیز کنید ( چیزی که در خیلی از Framework ها متأسفانه دیده می شود ) مثلاً این نام بسیار بد است: class.db.mysql.php و باید نام آن mysql.php می بود.
- به هیچ عنوان ورژن یا نسخه فایل را در نام فایل درج نکنید.
- از کاراکترهای _ و - در نام فایل یا Directory استفاده نکنید.
- ساختار پروژه شما کاملاً بسته به اهداف شما می تواند متفاوت شود. بنابراین به خود سخت نگیرید و آنچیزی که منطقی تر و Dynamic تر است را اعمال کنید.
درج Block
- برای فاصله Indent از 4 space استفاده کنید. توجه کنید که استفاده از Tab Character بسیار اشتباه است و همه IDE ها این گزینه را دارند که با زدن کلید Tab در کیبورد، معادل Space آنرا درج کنند. پس دقت کنید این گزینه فعال باشد.
- به کدهای زیر جهت نگارش بهتر توجه کنید:
//good
function someFunction {
doSomeAction();
}
//not good
function someFunction
{
doSomeAction();
}
//good
if (someStatement) {
doSomeAction();
}
//very bad
if (someStatement)
doSomeAction();
//good spacing concepts
$someVariable = 2 + (5 * 4) / 2;
doSomeAction(1, 'hello', false);
$someInt++;
$someInt += 2;
$someString = 'hello' . $someVariable . ' ok!';
//for loop
for ($i=0; $i<10; $i++){
doSomeWork($i);
}
0
0

نام فایل های xml که در layout ها وجود دارند ، بهتر هست چطور نامگذاری شوند؟ (10 سال پیش)
+1
0

لینک (10 سال پیش)
+1
0

شما در خط " 2 + (5 * 4) / 2" بین همه اپراتور ها فاصله گذاشتید(که خوب و خوانا هستش) در صورتی که در خط "for ($i=0; $i (10 سال پیش)
+4
0

محاسبه ریاضی نیاز به دقت بالایی برای درک و دیدن دارد اما حلقه for تنها سه پارامتر مفید دارد که 0 و 10 و ++ ( در مثال بالا ) می باشد. نیازی به درج فاصله نیست و توصیه هم نمی شود و با سایر convention ها نیز مطابقت دارد. (10 سال پیش)
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .