[PYTHON] Bon code et mauvais code à comparer avec la mini-carte

J'ai comparé le bon code (code refactorisé ou réécrit) et le mauvais code (code original) avec une mini-carte.

environnement

--La source est Python 2.7

Mini carte

Quel est le meilleur code, A ou B, et lequel est pire?

Affichage en 1 pixel par ligne

minimap_1.png

Affiché en 3 pixels par ligne

A minimap_3_old.png

B minimap_3_new.png

Comparaison

Montant total des personnages

A est l'impression que les lettres sont bien emballées dans leur ensemble. Cela est dû au fait qu'il y a peu de lignes vides et que le nombre de caractères sur une ligne est important.

B est une impression soignée car il contient une quantité modérée de lignes vides.

Côté gauche du code

A a beaucoup de blancs sur le côté gauche et les inégalités sont visibles. Cela est dû au fait que l'imbrication de for et if est profonde et qu'il existe de nombreux endroits où le traitement est écrit de manière bâclée.

B a un nid peu profond et le côté gauche est globalement plat.

Côté droit du code

A a de nombreux caractères sur le côté droit, et les lignes avec des caractères complètement à l'extrémité droite ressortent. En effet, il existe de nombreux endroits où les appels à des fonctions avec de nombreux arguments sont écrits sur une ligne sans saut de ligne.

En B, les longues lignes sont correctement interrompues, de sorte que les espaces blancs sont visibles sur le côté droit.

Quantité de littéraux de chaîne

La couleur de ■■■ </ font> représente une chaîne littérale, ce qui est très courant dans A. C'est parce que dict est utilisé tout le temps pour stocker des données.

B utilise des classes pour stocker les données, il y a donc moins de littéraux de chaîne.

Ce que j'ai trouvé

――Le bon code est beau même si vous regardez la mini-carte

  • Le mauvais code suinte sale même si vous regardez la mini-carte

Recommended Posts

Bon code et mauvais code à comparer avec la mini-carte
Code de caractère
Écrire du code de type python
Pseudo code FFT
Paramètres du code VS
code de caractère python
[Python] Code conscient des algorithmes
Affichage du code QR
Géocodage du code postal
Interpolation de code PyCharm
Bon code et mauvais code à comparer avec la mini-carte
Procédure d'attachement et de débogage de VS Code vers Jupyter Lab sur un serveur distant
Python 3.6 sous Windows ... et vers Xamarin.
Code qui génère un score au hasard
Gratter et manger des bûches - je veux trouver un bon restaurant! ~ (Travail)
Une histoire d'essayer d'exécuter JavaScripthon sur Windows et d'abandonner.
Procédure de création d'un environnement virtuel Python avec VS Code sous Windows
[Python] Créez un linebot pour écrire le nom et l'âge sur l'image
Essayez d'écrire du code python pour générer du code go - Essayez de porter JSON-to-Go et ainsi de suite
Je veux formater et vérifier le code Python à mon goût sur VS Code
Construisez Linux sur un environnement Windows. Étapes pour installer Laradock et migrer
Comment diviser et enregistrer un DataFrame
Qiita (1) Comment écrire un nom de code
Un mémo contenant Python2.7 et Python3 dans CentOS
Exécutez le code Python sur A2019 Community Edition
Comment tester sur une page authentifiée par Django
Une histoire d'essayer d'installer uwsgi sur une instance EC2 et d'échouer
Je veux déposer un fichier sur tkinter et obtenir son chemin [Tkinter DnD2]
Comment exécuter une application Django sur un conteneur Docker (environnement de développement et de production)
Créez un environnement PYNQ sur Ultra96 V2 et connectez-vous à Jupyter Notebook
Sous Linux (Ubuntu), réglez le Trackpad et réglez la fonction sur un balayage à trois doigts
Outil pour insérer le nom du pays et le code du pays dans une partie de l'adresse IP
Comment coder un drone en utilisant la reconnaissance d'image
Existe-t-il un bon exemple de code pour nosetests?
Essayez d'utiliser le code QR avec Raspberry Pi
Activer la complétion de code sur boto3 avec boto3-stubs
Créez un chat bot et entraînez-vous à être populaire.
Essayez de créer une nouvelle commande sous Linux
Comment vivre une vie décente avec Windows 2017
Liste de code Python à déplacer et à mémoriser
[Rails] Comment afficher plusieurs marqueurs sur Google Map et afficher une bulle lorsque vous cliquez dessus
Comment créer un bel environnement Python sur un nouveau Mac et installer Jupter Notebook
Comment mettre Pyenv sur Amazon Linux et Ubuntu pour créer un environnement Python 3.6.0
Essayez d'exécuter Schedule pour démarrer et arrêter des instances dans AWS Lambda (Python)
De l'introduction de Flask sur CentOS au service sur Nginx et uWSGI
Mémo Un débutant a essayé de créer un environnement Java et de le traduire en japonais sur Ubuntu 18.04.2 LTS.
Comment créer un environnement d'exécution virtuelle pour Python à l'aide de Visual Studio Code et de pipenv sur une machine Windows (également le notebook Jupyter)