vim python-mode

21. 3. 2014 20:21 Petr Blahoš

Některé nevýhody dynamických jazyků lze do jisté míry značně eliminovat striktním dodržováním jistých konvencí. Jaké konvence si ale vybrat? Přímo se nabízí doporučení PEP8. Ale kdo si má ta pravidla pamatovat? Naštěstí existují nástroje, které nám s tím pomohou. A je jich docela dost: pylint, rope, pydoc, pyflakes, pep8, a další. Jestli stejně jako já nepoužíváte IDE, ale obyčejný textový editor, tak máte štěstí, protože si tam můžete nakonfigurovat to, co budete potřebovat.

Pro vim existuje Syntastic a python-mode. Já mám jsem si po nějaké době zkoušení vybral python-mode, protože Syntastic při té syntaktické kontrole blokuje. Instalaci zvládnete podle návodu. Z toho, co to umí, vyjmenuju jen to, co používám já:

  • Vylepšení odsazování (podle PEP8)
  • Nepoužité proměnné
  • Member variables definované mimo konstruktor
  • Příliš/málo složité třídy, funkce:
    • Příliš mnoho/málo metod
    • Příliš mnoho/málo member functions
    • Příliš vysoká cyklomatická složitost
  • Kontroly formátu:
    • Mezery tam, kde mají být podle PEP8
    • Existence komentářů
    • Jména symbolů
    • Odsazování

A teď to nejlepší: python-mode podporuje virtualenv. Aktivujete virtualenv, spustíte vim, a python-mode ve vimu bude používat python z toho aktivního virtualenvu.

Občas sice narazím na něco, co se mi nelíbí, ale zatím mám spíš tendenci upravovat svoje chování, než pravidla pro python-vim (vlastně spíš jím použité nástroje). Protože čím podobnější jazyk používáme, tím spíš se domluvíme. K tématu doporučuju k přečtení ještě toto: Supercharge Your Python Developers.

Sdílet