Refactoring des outils utilisables avec Python

Qu'est-ce que le refactoring?

Le refactoring est la modification du code source sans changer le comportement du programme. Dans le développement logiciel, au fur et à mesure que le code source est créé, le programme devient souvent redondant et sale en raison de modifications de conception et de corrections de bogues au milieu. Le «refactoring» consiste à résoudre ces problèmes et à modifier le code source afin qu'il puisse répondre avec souplesse aux futurs changements de spécification.

Qu'est-ce que le refactoring? http://e-words.jp/w/%E3%83%AA%E3%83%95%E3%82%A1%E3%82%AF%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0.html

Refactoring des outils utilisables avec Python

Je l'ai mentionné ici. C'est une excellente diapositive et je vous recommande de la lire.

Refactoring des outils ceci et cela ~ Que la force soit avec vous ~ http://tell-k.github.io/pyconjp2014/#/

flake8

flake8 2.5.4 : Python Package Index https://pypi.python.org/pypi/flake8

** flake8 ** est une combinaison des deux outils PyFlakes et pep8. La plupart des contrôles peuvent être effectués avec ce flake8 seul.

Si vous utilisez un VCS tel que * git *, il existe également des commandes qui permettent à flake8 de créer des hooks ** tels que ** pre-commit **.

flake8 --install-hook

De plus, ce flake8 peut utiliser ** plug-in d'extension **, Par exemple, ** flake8-docstring ** qui correspond à * PEP257 * (convention de codage docstring).

flake8-docstrings 0.1.0 : Python Package Index https://pypi.python.org/pypi/flake8-docstrings/0.1.0

Si vous êtes ** Vimmer **, il existe également un plug-in Vim appelé ** vim-flake8 **.

nvie/vim-flake8: Flake8 plugin for Vim https://github.com/nvie/vim-flake8

autopep8

autopep8 1.2.4 : Python Package Index https://pypi.python.org/pypi/autopep8

** autopep8 ** est un outil qui formate automatiquement le code compatible pep8.

Personnellement, plutôt que d'utiliser un outil de mise en forme automatique comme celui-ci Il est préférable d'utiliser flake8 pour corriger vous-même chaque erreur. Je ne le recommande pas car vous pouvez apprendre à écrire du code.

autoflake

autoflake 0.6.6 : Python Package Index https://pypi.python.org/pypi/autoflake

** autoflake ** est un outil de formatage automatique conforme aux erreurs PyFlakes.

docformatter

docformatter 0.7.1 : Python Package Index https://pypi.python.org/pypi/docformatter

** docformatter ** est un outil de formatage automatique du même type que autopep8. Le docformatter ne formate pas le code, mais la ** docstring ** utilisée dans le code.

radon

radon 1.3.2 : Python Package Index https://pypi.python.org/pypi/radon

** radon ** est un outil Python qui calcule diverses métriques à partir du code source.

Que sont les métriques

Les métriques sont des mots anglais qui signifient la rime et l'écriture lyrique. Aussi, une forme plurielle du nom «métrique» qui signifie métrique, échelle, métrique, distance, etc. C'est aussi un suffixe qui ajoute des significations telles que "échelle de ...", "méthode de mesure de ..." et "méthode de mesure de ..." avec la nomenclature représentant un champ ou un objet.

Que sont les métriques | métriques-Signification / Définition: Glossaire informatique http://e-words.jp/w/%E3%83%A1%E3%83%88%E3%83%AA%E3%82%AF%E3%82%B9.html

En d'autres termes, il mesure et évalue la maintenabilité du code source. Dans le radon, l'évaluation se fait en 6 étapes ** de A à F **.

le radon mesure les trois types suivants.

Vérifiez-vous souvent la deuxième maintenabilité?

Comment installer

Tous les outils ci-dessus

pip install [tool]

Vous pouvez l'installer en utilisant ** pip ** comme ceci.

Ayez une vie de refactoring confortable!

Recommended Posts

Refactoring des outils utilisables avec Python
python [pour moi]
Guide d'installation des outils Python pour Visual Studio
Conseils pour créer de petits outils avec python
Bases de Python ② pour déclaration
Divers outils de visualisation Python
À propos de Python, pour ~ (plage)
Manuel python pour les débutants
Toolchain pour Python pour Android
OpenCV pour les débutants en Python
Installez Python (pour Windows)
[Python] pour une erreur d'instruction
Maintenance de l'environnement Python pour les projets
Récapitulatif des outils d'exploitation de l'interface graphique Windows avec Python
Mémo Python (pour moi): Array
Liste Python, pour instruction, dictionnaire
Refactoring appris avec Python (Basic)
Python pour l'analyse des données Chapitre 4
Flux d'apprentissage pour les débutants en Python
Procédure d'installation de Python 3.6 [pour Windows]
Intégration BigQuery pour les utilisateurs Python
Plan d'apprentissage Python pour l'apprentissage de l'IA
Configurer pour Mac (Python)
Mémo Python Tkinter (pour moi)
Outils utilisés pour la copie
Installation d'OpenCV3 pour Python3 @macOS
Balise xmp [Python] pour les photos
Construction de l'environnement Python pour Mac
Techniques de tri en Python
pp4 (puissance python pour tout)
Construction de l'environnement Python3 (pour les débutants)
Feuille de route pour la publication de packages Python
Installation de la série Python 3 pour Mac
Python #function 2 pour les super débutants
Modèle Python pour Codeforces-test manuel-
Grammaire de base Python pour les débutants
Notes depuis 3 mois depuis que j'ai commencé Python
Mise à jour automatique de l'application Qt pour Python
Python pour l'analyse des données Chapitre 2
Pandas 100 coups pour les débutants en Python
La recommandation de Checkio pour apprendre Python
Arguments de mots-clés pour les fonctions Python
[Pour organiser] Environnement de développement Python
[Python] Exemple de code pour la grammaire Python
Python #function 1 pour les super débutants
[Python / PyQ] 4. liste, pour instruction
Serveur HTTP simple pour python
[Python + Selenium] Conseils pour le grattage
#List Python pour les super débutants
~ Conseils pour les débutants de Python présentés avec amour par Pythonista ③ ~
Extraire uniquement Python pour le prétraitement
Mise en retrait des scripts python
Introduction à Python pour, pendant
À propos de "for _ in range ():" de python
tesseract-OCR pour Python [version japonaise]
[Python] Traitement itératif (for, while)
Python pour l'analyse des données Chapitre 3
Installer dlib pour Python (Windows)
Rechercher les fuites de mémoire dans Python