Nejlepší odpověď
Existuje několik nástrojů k provádění statické analýzy pro programování v Pythonu.
- Pylint → Nástroj s otevřeným zdrojovým kódem
- Kiuwan → Komerční nástroj
- Pyflakes atd.
Použil jsem Pylint a Kiuwan.
Pylint může najít následující věci:
- kontrola délky řádkového kódu,
- kontrola, zda jsou názvy proměnných správně vytvořeny podle vašeho standardu kódování
- kontrola, zda jsou použity importované moduly
- kontrola, zda jsou deklarovaná rozhraní skutečně implementována,
- kontrola, zda jsou importovány moduly,
Kiuwan může podporovat níže uvedené sady pravidel:
- Vyhněte se pevně zakódovaným adresám IP
- Duplikovaný kód
- Nepoužívejte výchozí proměnlivé parametry
- Nepoužívejte funkce exec ()
- Vyhněte se přiřazení True nebo False
- Vyhněte se řetězovým srovnáváním obsahujícím operátor rovnosti
- Vyhněte se příliš složitým funkcím
- Otevřete soubory usin g prohlášení with
- Nepoužívejte zastaralé moduly
- Metoda \_init\_ nemůže být generátorem
Je lepší volbou zkontrolovat více nástrojů a rozhodnout, který nástroj dokonale vyhovuje požadavkům.
Odpovědět
Používám pyflakes pro kontrolu kódu uvnitř Vim a považuji to za velmi užitečné. Ale pylint je stále lepší pro kontrolu kódu před spácháním. Měli byste mít dvě úrovně kontroly kódu: chyby, které nelze potvrdit, a varování, která jsou pachy kódu, ale lze je potvrdit. To a mnoho dalších věcí můžete nakonfigurovat pomocí pylintu.
Někdy si můžete myslet, že pylint je příliš vybíravý: může si stěžovat na něco, co je podle vás naprosto v pořádku. Dobře si to rozmysli. Velmi často jsem zjistil, že varování, které jsem před měsícem považoval za příliš konzervativní, bylo ve skutečnosti velmi dobrou radou.
Takže moje odpověď je, že pylint je spolehlivý a robustní a nevím o mnohem lepším kódu analyzátor.