[PYTHON] Outils utilisés pour la copie

J'essaye de copier le sutra pour comprendre le code des autres. Si cela ne fonctionne pas, vous devrez le comparer au code d'origine, puis j'utilise les outils suivants:

Reindent

Un outil pour réaligner les indentations Python. Il est très difficile de comparer si le code source de référence ou le standard d'indentation du code que vous avez écrit est différent, nous l'utilisons donc pour unifier. pip install Rindent introduit la commande "rindent". Pour exécuter, spécifiez simplement le fichier à formater dans l'argument. Crée une sauvegarde du fichier d'origine par défaut. Le formatage du retrait est unifié à PEP8 avec 4 espaces. Il semble y avoir un outil appelé autopep8 qui modifie en PEP8 y compris sans indentation.

Python3 non pris en charge

Reindent ne fonctionnait pas en python3.

$ reindent
Traceback (most recent call last):
  File "/opt/3gpu/bin/reindent", line 2, in <module>
    from reindent import main
  File "/opt/3gpu/lib/python3.4/site-packages/reindent.py", line 71
    except getopt.error, msg:

Dans l'ensemble, la notation d'exception est Python2. Ce serait bien de remplacer la virgule par comme pour cela, mais toutes les autres impressions sont des appels sans parenthèses.

gvimdiff

J'utilise gvimdiff pour comparaison. Il existe d'autres outils tels que meld, mais après avoir essayé certains, j'utilise celui-ci. Il y aura aussi des goûts personnels ici. La valeur par défaut de gvimdiff est nowrap, donc les longues lignes ne seront pas encapsulées. Le simple fait d'écrire set nowrap en .vimrc ne fonctionnait pas. StackOverflow a publié une méthode pour activer le wrap uniquement lorsque (g) vimdiff est démarré, donc je l'utilise.

autocmd FilterWritePre * if &diff | setlocal wrap< | endif

jedi (+ emacs, auto-complete)

J'utilise Jedi pour compléter le code. Lorsqu'il est combiné avec l'auto-complétion emacs, il est facile de compléter des variables longues, des noms de fonctions, etc. dans la source de la source qui a été lue précédemment.

S'il existe d'autres outils utiles, je les ajouterai.

Recommended Posts

Outils utilisés pour la copie
Refactoring des outils utilisables avec Python
Commandes Linux fréquemment utilisées (pour les débutants)