بایگانی برچسب‌ها : Source code

اسپاگتی کد Spaghetti Code

اسپاگتی کد یا Spaghetti Code چیست؟

اسپاگتی کد (Spaghetti Code) یا کد درهم تنیده اصطلاحی در حوزه برنامه نویسی رایانه ای است و به سورس کدهایی گفته می‌شود که فاقد ساختار مناسب بوده و به علت پیچیدگی غیرضروری، فهم و نگه داری آن به امری دشوار تبدیل می‌شود. این درهم تنیدگی و پیچیدگی می‌تواند ناشی از عوامل مختلفی از جمله نبود قوانین مناسب برای استایل‌های برنامه نویسی و تجربه یا دانش ناکافی فرد برنامه نویس باشد.

استفاده از دستورات GOTO به عنوان روشی برای جهش (که زبان های برنامه نویسی قدیمی وابستگی بیشتری به آن داشتند و در بسیاری از زبان های امروزی نیز از آن پشتیبانی می‌شود) یکی از شایع ترین دلایل ایجاد کدهای درهم پیچیده و دارای جریان کنترلی (Control Flow) آشفته به شمار می‌رود. به این معنا که ترتیب اجرای دستورات در این سورس کدها برخلاف برنامه نویسی ساخت یافته استاندارد به شکلی واضح و قابل فهم نمی‌باشد و همانند یک بشقاب اسپاگتی دارای رشته‌هایی است که از ابتدا تا انتها با پیچ و خم‌های فراوان همراه می‌شود. طبیعتا دستکاری و تغییر قطعه‌ای از این کدها به گونه‌ای که باعث بروز مشکل در سایر بخش‌های آن نشود کار ساده‌ای نخواهد بود؛ درست مانند جدا کردن یک قاشق از اسپاگتی که معمولا باعث می‌شود رشته‌های دیگری که در بشقاب قرار دارد نیز قطع شوند!

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

اسپاگتی کد Spaghetti Code
نمایی مفهومی از روند اجرای دستورات در یک قطعه کد اسپاگتی مملو از جهش همانند رشته‌های موجود در یک بشقاب اسپاگتی!

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

سورس کد Source Code

سورس کد یا Source Code چیست؟

سورس کد (Source Code) مجموعه‌ای از دستورالعمل‌های رایانه است که معمولا در قالب متن و به یک زبان برنامه نویسی کامپیوتری نوشته می‌شود.

محتوای Source Code توسط انسان‌ها قابل فهم و مطالعه است و معمولا پیش از اجرا توسط یک کامپایلر به زبان سطح پایین ماشین تبدیل می‌شود (تا توسط پردازنده قابل فهم شود) و یا به صورت مستقیم توسط یک مفسر اجرا می‌شود.

معمولا برای تسهیل فرایند نگه داری و عیب یابی نرم افزار و افزایش خوانایی آن از قراردادهایی در کدنویسی استفاده می‌شود که توسط توسعه دهندگان حرفه‌ای به دقت رعایت می‌شود. هم‌چنین، بسیاری از توسعه دهندگان به خطوط مختلف Source Code، توضیحاتی (کامنت یا Comment) نیز اضافه می‌کنند. این توضیحات باعث می‌شود Source Code برای تیم توسعه دهندگان اصلی یا سایر برنامه نویسان قابل فهم‌تر و عملکرد هر تابع، نقش هر متغیر و … در میان انبوهی از کدهای پیچیده مشخص باشد و به این ترتیب اعمال تغییرات یا رفع نقایص و مشکلات در آن‌ها با سادگی بیشتری امکان‌پذیر خواهد بود.

در کتاب‌های برنامه نویسی نیز از Source Code (قطعه کد)های ساده‌ای برای آموزش زبان‌های برنامه نویسی استفاده می‌شود. نمونه‌ای از چنین قطعه کدی در مثال زیر قابل مشاهده است. در این Source code برنامه سلام دنیا به زبان PHP نوشته شده است:

<?php 
echo "Hello, world!"; 
?>

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا