برنامه‌نويسان رايانه‌اي دو سبك برنامه‌نويسي دارند:

1. كدنويسي استاندارد (برنامه‌نويسي منطقي و منظم): در اين سبك برنامه‌نويسي همه‌ي بخش‌ها به دقت از يكديگر تفكيك شده‌اند. تعريف متغيرها و توابع در ابتدا مي‌آيد و اسامي متغيرها نيز مطابق استاندارد نامگذاري مجارستاني به گونه‌اي انتخاب مي‌شود كه صرفاً با نگاه به هر متغير مي‌توانيد نوع آن را تشخيص دهيد. مثلاً متغير strUserName نشان دهنده‌ي متغيري به نام UserName از جنس String يا همان رشته است. به محض ورود برنامه به هر شرط (If)، حلقه (While, do) يا تابع، يك سطر تورفتگي (Indent) در برنامه ايجاد مي‌شود تا بلوك جاري هميشه مشخص باشد. پس از خروج از بلوك نيز مجدداً يك سطر به عقب برمي‌گرديم. رعايت ترتيب اين تورفتگي‌ها و عقب‌نشيني‌ها باعث مي‌شود كه كد مربوط به انتهاي هر بلوك را حتماً درج كرده باشيم. در غير اين صورت تو رفتگي كد به محل اوليه‌ي آن برنمي‌گردد. ضمناً در ابتداي هر بلوك توضيحات لازم به صورت Comment درباره‌ي عملكرد حلقه يا تابع به منظور پشتيباني از نرم‌افزار و رفع ايراد آن توسط افرادي كه بعداً از اين كد استفاده خواهند كرد، قيد شده است.

2. اسپاگتي كد (برنامه‌نويسي آشفته): در اين سبك برنامه‌نويسي، هيچ چيزي سر جاي خودش نيست. كدنويسي از هيچ اسلوب و استانداردي تبعيت نمي‌كند. نظم اسپاگتي كد در بي‌نظمي آن است. نه از اسامي متغيرها مي‌توان چيزي فهميد، نه در جاي درستي تعريف شده‌اند و نه تورفتگي‌هاي بلوك‌ها معني‌دار است و اصلاً شايد هيچ‌گونه Indentation در كدنويسي رعايت نشده باشد. از توضيح در خصوص نحوه‌ي عملكرد توابع و حلقه‌ها نيز خبري نيست. در اسپاگتي كد امكان دارد شما بدون هيچ دليل خاصي از يك حلقه خارج شويد. دستور Goto معمولاً به كرّات و دفعات در اين سبك برنامه‌نويسي استفاده مي‌شود و پرش از يك نقطه به نقطه‌ي ديگر در اسپاگتي كد امري طبيعي است.

اسپاگتي كد معمولاً توسط برنامه‌نويسان بعدي قابل فهم و اصلاح نيست و پيچيدگي‌ آن به حدي است كه افراد ترجيح مي‌دهند كد را از نو و خودشان بنويسند. اما نكته‌ي جالب اسپاگتي كد اين است كه كار مي‌كند. بله اسپاگتي كدها ممكن است سال‌ها بدون اشكال كار كنند. اگر كد برنامه زياد باشد گاهي خود برنامه‌نويس هم براي رفع باگ برنامه به مشكل مي‌خورد. معمولاً براي اسپاگتي كد هيچ گونه مستنداتي تهيه نمي‌شود و خالق آن همان لحظه‌اي كه فكر مي‌كند كد مي‌نويسد يا كدهاي قبلي را اصلاح مي‌كند. اگر بين توليد و نياز به تغيير يك اسپاگتي كد فاصله بيفتد، به دليل عدم وجود مستندات و توضيحات و منطق لازم، عملاً اصلاح كد امر ناممكني تلقي خواهد شد.

مهم‌ترين پيامد اسپاگتي كد عدم امكان توسعه است.

جامعه اسپاگتي

جامعه اسپاگتي، جامعه‌اي است كه هيچ چيزي سر جاي خودش نيست. از ظاهر انسان‌ها نمي‌توانيم بفهميم آنها چه كاره‌اند. مفاهيم و نمادها واژگونه شده‌ و كاركرد اصلي خود را از دست داده‌اند. در جامعه‌ي اسپاگتي حل مشكلات به ظاهر ساده نيز به دليل پيچيدگي روابط و تغيير ماهيت اشياء و پديده‌ها كار بسيار دشواري است.

جامعه اسپاگتي، جامعه‌اي است كه به مدرسه‌‌ي پولي مي‌گويد غيرانتفاعي، به رشوه مي‌گويد حق و حساب، به لفاظي كردن و دروغ گفتن مي‌گويد تعارف و محبت، نه از ظاهر افراد مي‌توان نسبت به تقيد آنها به دين و شريعت اطلاع پيدا كرد و نه از گفته‌ها و نوشته‌هاي‌شان. نمايشگاه كتاب را در مصلي برگزار مي‌كنند و نماز جمعه را در دانشگاه. معناي خط عابر پياده اين است كه اگر خودرويي نيامد عابر حق عبور از خيابان دارد و عابر نيز از هر جاي خيابان كه اراده كند، عبور مي‌كند. يعني هر دو همزمان به حريم هم تجاوز مي‌كنند.

در جامعه اسپاگتي، پاسخگويي وظيفه نيست، بل‌كه منّت و فضيلت است. در بسياري از موضوعات، آمار و اطلاعات دقيقي وجود ندارد و به آمارهاي ارائه شده نيز نمي‌توان اطمينان پيدا كرد. به عنوان نمونه هيچ آمار دقيق و رسمي از ميزان جرايم اجتماعي نظير خودكشي، اعتياد، دختران فراري، مصرف مشروبات الكلي و امثال اينها يا وجود ندارد يا اصلاً ارائه نمي‌شود، به گونه‌اي كه پژوهشگران اجتماعي از نبود چنين اطلاعاتي براي انجام كار تحقيقاتي در مضيقه هستند. (نقل از دكتر سعيد معيدفر، دومين همايش ملي پژوهش فرهنگي اجتماعي در ايران، 1391)

در جامعه‌ي اسپاگتي شما هر چيز بي‌ربطي را مي‌توانيد به چيزهاي ديگر ربط بدهيد و مردم نيز باور كنند. چون سر هيچ رشته‌اي دقيقاً مشخص نيست كه از كجا آغاز مي‌شود و به كجا ختم مي‌شود، پس محتمل است كه چيزهاي بي‌ربط به هم ربط داشته باشند و همين امر باورپذيري دروغ و شايعه را بالا مي‌برد.

در جامعه اسپاگتي منافع گروه‌هاي قدرتمند در پنهان بودن و پيچيده بودن روابط تعريف مي‌شود و دقيقاً به همين دليل هيچ كس نمي‌خواهد كه اين پيچيدگي و پنهان‌بودگي اطلاعات از بين برود. نتيجه‌اي كه از بحث اسپاگتي كد گرفتيم اين بود كه پيامد آن «عدم امكان توسعه‌» است. در جامعه اسپاگتي، توسعه‌نيافتگي هم خواسته‌ي گروه‌هاي قدرت و ثروت است و هم اثر وضعي و قهري اسپاگتي بودن است. يعني تا زماني كه اين پيچيدگي و آشفتگي و نابساماني استمرار دارد، گروه‌هاي ذي‌نفوذ نه مي‌خواهند و نه مي‌توانند به اين وضعيت خاتمه دهند.

جمع‌بندي

اگر نيروهاي ساختاري، از درون جامعه نسبت به برقراري نظم اقدام نكنند، افزايش آنتروپي موجب انفجار و از هم گسستن ساختار براي رسيدن به سطح ديگري از تعادل خواهد شد.

در همين زمينه: