[PYTHON] Werkzeuge zum Kopieren

Ich versuche, das Sutra zu kopieren, um den Code anderer zu verstehen. Wenn das nicht funktioniert, müssen Sie es mit dem Originalcode vergleichen, und dann verwende ich die folgenden Tools:

Reindent

Ein Tool zum Neuausrichten von Python-Einrückungen. Es ist sehr schwierig zu vergleichen, ob der Referenzquellcode oder der Einrückungsstandard des von Ihnen geschriebenen Codes unterschiedlich ist. Daher verwenden wir diesen zur Vereinheitlichung. pip install Rindent führt den Befehl "rindent" ein. Geben Sie zum Ausführen einfach die zu formatierende Datei im Argument an. Erstellt standardmäßig eine Sicherung der Originaldatei. Die Formatierung des Einzugs wird mit 4 Leerzeichen auf PEP8 vereinheitlicht. Es scheint ein Tool namens autopep8 zu geben, das auf PEP8 geändert wird, einschließlich nicht eingerückt.

Python3 wird nicht unterstützt

Reindent hat in Python3 nicht funktioniert.

$ 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:

Insgesamt lautet die Ausnahmeschreibweise Python2. Es wäre schön, das Komma durch dieses zu ersetzen, aber alle anderen Ausdrucke sind Aufrufe ohne Klammern.

gvimdiff

Ich benutze gvimdiff zum Vergleich. Es gibt einige andere Tools wie meld, aber als Ergebnis einiger Versuche verwende ich dieses. Hier wird es auch einen persönlichen Geschmack geben. Die Standardeinstellung für gvimdiff ist nowrap, sodass lange Zeilen nicht umbrochen werden. Das einfache Schreiben von set nowrap in .vimrc hat nicht funktioniert. StackOverflow hat eine Methode veröffentlicht, mit der Wrap nur aktiviert wird, wenn (g) vimdiff gestartet wird. Daher verwende ich sie.

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

jedi (+ emacs, auto-complete)

Ich benutze jedi für die Code-Vervollständigung. In Kombination mit der automatischen Vervollständigung von Emacs ist es einfach, lange Variablen, Funktionsnamen usw. in der Quelle der zuvor gelesenen Quelle zu vervollständigen.

Wenn es andere nützliche Werkzeuge gibt, werde ich sie hinzufügen.

Recommended Posts

Werkzeuge zum Kopieren
Refactoring-Tools, die mit Python verwendet werden können
Häufig verwendete Linux-Befehle (für Anfänger)