اشرح الكود باستخدام ASCII art

ملاحظة من المترجم: عادةً مقالة يوم الجمعة صباح الثلاثاء ... لم لا؟



معظم الناس صور. يستخدمون الصور للوصول إلى أسفل المشكلة. لكن لغات البرمجة السائدة ، على العكس من ذلك ، تعتمد على التمثيل النصي. يتم ملء الفجوة الناتجة بين النص والرسومات بصور ASCII مرسومة بأحرف نصية وإدراجها في الكود المصدري للبرنامج. أنا أعشقهم! بمجرد أن ألقيت صرخة على Twitter وأرسلوا لي أمثلة أكثر بكثير مما توقعت. شكرا لجميع المعنيين. جاء هذا الموضوع مع بعض الأمثلة الممتازة التي قمت بجمعها ووضعها في فئات. لكل صورة ، يتم إعطاء رابط إلى مستودع المقابلة.

هياكل البيانات


واحد من الاستخدامات الأكثر شيوعًا لفن ASCII في التعليمات البرمجية هو توضيح بنية البيانات.

المثال الأول من شفرة مصدر LLVM:


شفرة المصدر

موقع الحقول في بنية البيانات في Jikes RVM:


شفرة المصدر

تدوير شجرة في Musl:


شفرة المصدر

قائمة انتظار ثنائية الاتجاه في Rust:


شفرة المصدر

المترجم الداخلي السريع:


شفرة المصدر

تخطيط العنصر في رأس Malloc:


شفرة المصدر

آلات الدولة


جافا سكريبت التنميط:


شفرة المصدر

RPC في Cloud Spanner:


شفرة المصدر

ينص تدفق I / O:


شفرة المصدر

منطق المجال


تدفق التحكم في برنامج فك شفرة NWScript:


شفرة المصدر

الدواخل ECC:


شفرة المصدر

تنسيق الأرقام:


شفرة المصدر

الدائرة الكمومية:


شفرة المصدر

موازنة مهام إدارة الذاكرة في نواة نظام التشغيل:


شفرة المصدر

توافق الكتابة (هذه حالة مثيرة للإعجاب بشكل خاص ، لأنه هنا فن ASCII هو رمز!)


شفرة المصدر

تنسيق ملف DBF:


شفرة المصدر

جدول البحث لمعالجة الصور:


شفرة المصدر

وظيفة اللون الشكل:


شفرة المصدر

بنية عنوان URL:


شفرة المصدر

مرجع موجز حول إلغاء العمليات في emacs:


شفرة المصدر
ملاحظة المترجم: لا يزال هناك الكثير من الرسوم البيانية المماثلة على الرابط

الهندسة


التحكم في الارتفاع في Apollo على متن الكمبيوتر (!!!):


شفرة المصدر

تجزئة الصورة:


شفرة المصدر

مسارات Nethack boomerang:


شفرة المصدر

رسم حدود العناصر في CSS:


شفرة المصدر

شجرة رباعي:


شفرة المصدر

التحكم في سرعة الجهاز:


شفرة المصدر

التمرير صفحة الويب:


شفرة المصدر

أتمنى أن تستمتع به!

مثال إضافي من المترجم:

قيم الاستيفاء الرسم البياني:


شفرة المصدر

Source: https://habr.com/ru/post/ar440830/


All Articles