Expliquez le code en utilisant l'art ASCII

Note du traducteur: généralement un article du vendredi mardi matin ... pourquoi pas?



La plupart des gens sont des visuels. Ils utilisent des images pour aller au fond du problème. Mais les langages de programmation traditionnels, au contraire, sont basés sur une représentation textuelle. L'écart qui en résulte entre le texte et les graphiques est rempli d'images ASCII dessinées à l'aide de caractères de texte et insérées dans le code source du programme. Je les adore! Une fois, j'ai lancé un cri sur Twitter et ils m'ont envoyé beaucoup plus d'exemples que ce à quoi je m'attendais. Merci à toutes les personnes impliquées. Ce sujet a proposé d'excellents exemples que j'ai rassemblés et classés en catégories. Pour chaque image, un lien vers le référentiel correspondant est donné.

Structures de données


L'une des utilisations les plus courantes de l'art ASCII dans le code est d'illustrer la structure des données.

Premier exemple du code source LLVM:


Code source

Emplacement des champs dans la structure de données dans Jikes RVM:


Code source

Faites tourner un arbre dans Musl:


Code source

File d'attente bidirectionnelle à Rust:


Code source

Internes du compilateur Swift:


Code source

Disposition de l'article dans l'en-tête Malloc:


Code source

Machines d'état


Profilage Javascript:


Code source

RPC dans Cloud Spanner:


Code source

Le flux d'E / S indique:


Code source

Logique de domaine


Flux de contrôle dans le programme décompilé NWScript:


Code source

ECC à l'intérieur:


Code source

Formatage des nombres:


Code source

Circuit quantique:


Code source

Équilibrage des tâches de gestion de la mémoire dans le noyau du système d'exploitation:


Code source

Compatibilité des types (c'est un cas particulièrement impressionnant, car ici l'art ASCII est du code!)


Code source

Format de fichier DBF:


Code source

Table de recherche pour le traitement d'image:


Code source

Forme de la fonction couleur:


Code source

Structure URL:


Code source

Une brève référence sur l'annulation des opérations dans emacs:


Code source
Note du traducteur: il y a encore beaucoup de graphiques similaires sur le lien

Géométrie


Contrôle d'altitude dans l'ordinateur de bord Apollo (!!!):


Code source

Segmentation de l'image:


Code source

Trajectoires Nethack boomerang:


Code source

Dessiner les bordures des éléments en CSS:


Code source

Arbre quadrant:


Code source

Contrôle de la vitesse de la machine:


Code source

Défilement des pages Web:


Code source

J'espère que ça vous a plu!

Exemple supplémentaire du traducteur:

Valeurs d'interpolation du graphique:


Code source

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


All Articles