خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


آموزش زبان ++C : فاصله ها و قالب بندی ساده متن

آموزش زبان ++C : فاصله ها و قالب بندی ساده متن
نویسنده : امیر انصاری
فاصله (Whitespace) یک اصلاح است که به کاراکترهایی که به منظور قالب بندی متن (formatting) استفاده می شوند، اشاره دارد. در زبان برنامه نویسی ++C به طور عمده به فاصله ها (spaces)، تب ها (tabs) و برخی اوقات به خط های جدید (newlines) اشاره دارد. زبان ++C به طور کلی فاصله (Whitespace) را نادیده می گیرد، البته به جز چند استثناء جزئی، که در ادامه به آنها اشاره خواهیم کرد.

سیستم یکپارچۀ سازمانی راهکار



در نتیجه، بیانیه های (statements) زیر، همگی یک کار را انجام می دهند :

std::cout << "Hello world!";

std::cout << "Hello world!";

std::cout << "Hello world!";

std::cout
<< "Hello world!";

حتی در بیانیه (statement) آخر که یک خط جدید (newline) در آن قرار دارد، برنامه به درستی کامپایل شده و کار خواهد کرد.

توابع زیر همگی کار یکسانی را انجام می دهند :

int add(int x, int y) { return x + y; }

int add(int x, int y) {
return x + y; }

int add(int x, int y)
{ return x + y; }

int add(int x, int y)
{
return x + y;
}

یک استثناء که کامپایلر ++C به فاصله ها توجه می کند، متن هایی هستند که داخل یک جفت علامت کوتیشن قرار دارند (quoted text)، مانند متن زیر :

"Hello world!"


از نظر کامپایلر ++C متن زیر

"Hello world!"

با

"Hello world!"

متفاوت می باشد.

و هر کدام از آنها دقیقاً به همان شکلی که انتظار دارید چاپ خواهند شد.

خط های جدید (Newlines) اجازه ندارند تا در داخل علامت کوتیشن قرار بگیرند :

std::cout << "Hello
world!" << std::endl; // Not allowed!

یکی دیگر از استثناها که کامپایلر ++C در آنجا هم به فاصله ها دقت می کند، کامنت های تک خطی که با علامت // ایجاد شده اند، می باشد. در کامنت های تک خطی، انتهای خط توسط کامپایلر در نظر گرفته می شود و از ابتدای خط بعدی دیگر کامنت منظور نخواهد شد. بنابراین انجام دادن کاری شبیه کار زیر، شما را به مشکل خواهد انداخت :

std::cout << "Hello world!" << std::endl; // Here is a single-line comment
this is not part of the comment

قالب بندی ساده متن (Basic formatting)


برخلاف برخی دیگر از زبانهای برنامه نویسی، زبان ++C هیچ نوع محدودیتی در مورد قالب بندی متن را به برنامه نویس تحمیل نمی کند (بخاطر داشته باشید که ++C فرضش بر اینست که باید به برنامه نویس اعتماد کرد!). در طول سالها، برای قالب بندی متن در زبان ++C روش های متعددی ایجاد شده است، و در مورد اینکه کدام روش برای قالب بندی متن (formatting) مناسبتر می باشد، اختلاف نظرهایی وجود دارد. قانون ساده ما اینست که بهترین سبک، آن سبکی می باشد که خواناتر ترین کد را تولید کند، و در ضمن حال بیشترین پایداری (consistency) را ارائه بدهد.

توصیه های ما برای قالب بندی ساده متن، به شرح زیر می باشند :

  1. تب های (tabs) شما بهتر است که 4 فاصله (spaces) را شامل شوند، در این مورد اکثر IDE ها تنظیماتی دارند که شما می توانید تعداد فاصله های ایجاد شده در هر بار فشردن کلید تب را تنظیم کنید. برخی IDE ها، به ازاء هر تب 3 فاصله به صورت پیش فرض دارند، این روش هر چند کمی غیر متعارف است اما با این حال باز هم خوب است.

    شما برای دندانه دار کردن کدها، می توانید به دلخواه از تب ها (tabs) و یا فاصله ها (spaces) استفاده کنید. اکثر شرکتهای بزرگ و همینطور راهنماهای سبک بندی ، به شما پیشنهاد می کنند که برای دندانه دار کردن کدها از فاصله ها (spaces) استفاده کنید (هر بار 2 یا 4 فاصله قرار بدهید) چرا که این روش تقریباً با همه ویرایشگرهای متنی سازگار می باشد و در واقع در ویرایشگرهای مختلف یکسان است. البته این منطق شخص بنده را قانع نمی کند و به شخصه همیشه ترجیح می دهم تا از تب ها (tabs) استفاده کنم، چرا که استفاده از تب بسیار آسانتر از استفاده از فاصله می باشد.

    ذکر این نکته هم خالی از لطف نیست که بحث استفاده از تب ها (tabs) و یا فاصله ها (spaces)، بیش از 50 سال است که ادامه دارد و پاسخ صد در صد واضحی ندارد. مهمترین چیز در انتخاب بین این دو، در ابتدا راحتی خود شما و بعد از آن استانداردهای شرکتی است که برای آن کار می کنید.

  2. آکولاد هایی (braces) که با استفاده از آنها ابتدا و انتهای توابع را مشخص می کنید، باید در یک خط مجزا باشد و با نام تابع چینش یکسانی داشته باشد.

    int main()
    {
    }

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

  3. هر بیانیه که داخل آکولادی قرار می گیرد، از محل باز شدن آکولاد باید به اندازه یک tab یا معادل 4 spaces، دندانه دار شود. برای مثال :

    #include 
    int main()
    {
    std::cout << "Hello world!" << std::endl; // tabbed in one tab (4 spaces)
    std::cout << "Nice to meet you." << std::endl; // tabbed in one tab (4 spaces)
    }

  4. کدهای موجود در هر خط نباید زیاد طولانی باشند. به طور معمول، بهتر است که هر خط نهایتاً شامل 72، 78 و یا 80 کاراکتر باشد. اگر کد موجود در یک خط طولانی تر از این شد، باید در یک نقطه منطقی، به چند خط شکسته شود. معمولا کدهایی را که به این شکل به چند خط می شکنند با استفاده از دندانه دار کردن به طور یکنواخت تنظیم می کنند تا خوانایی کد بالاتر برود.

    #include 
    int main()
    {
    std::cout << "This is a really, really, really, really, really, really, really, " <<
    "really long line" << std::endl; // one extra indentation for continuation line

    std::cout << "This is another really, really, really, really, really, really, really, " <<
    "really long line" << std::endl; // text aligned with the previous line for continuation line

    std::cout << "This one is short" << std::endl;
    }

  5. اگر یک خط کد طولانی را به چندین خط شکستید، و در محل شکستن خط عملگری قرار داشت، آن عملگر را باید در انتهای خط قرار بدهید و نه در ابتدای خط بعدی.

    روش زیر صحیح است :

        std::cout << "This is a really, really, really, really, really, really, really, " <<
    "really long line" << std::endl;

    و روش زیر صحیح نمی باشد :

        std::cout << "This is a really, really, really, really, really, really, really, "
    << "really long line" << std::endl;

    استفاده از این متد باعث می شود تا کد واضح تر شود و با مشاهده خط اول کد متوجه می شوید که این کد در خط یا خط های بعدی نیز ادامه دارد.

  6. با استفاده از فاصله ها (spaces) خوانایی کدهای خود را افزایش بدهید. به مثالهای زیر توجه کنید.

    آموزش زبان ++C : فاصله ها و قالب بندی ساده متن

ما در طول این دوره آموزشی از این دستورالعمل ها استفاده خواهیم کرد، تا خود بخود تبدیل به بخشی از طبیعت برنامه نویسی شما بشود.

در نهایت ++C به شما قدرت انتخاب هر کدام از این سبک ها را که با آن راحتتر هستید و یا فکر می کنید با آن راحتترید، را می دهد. با این وجود، ما به شدت توصیه می کنیم که کدهای خود را مشابه این دستورالعمل ها و مثال ها سبک بندی کنید. روش هایی که ارائه دادیم توسط برنامه نویس های زیادی، در بیش از میلیاردها خط کد مورد استفاده قرار گرفته است و در نهایت به این شیوه بهینه شده اند.


آموزش قبلی : آموزش زبان ++C : مروری بر عملگرها (Operators)

آموزش بعدی : آموزش زبان ++C : اعلامیه های پیشاپیش (Forward declarations)



نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.