Hallo zusammen,
ich bin auf der Suche nach einem Tool, mit dem ich mein Pythoncode optimieren kann.
Ich arbeite zur Zeit an einem riesigen Projekt mit x-Modulen. In einigen Modulen sind Methoden die nicht mehr verwendet werden. Die alle von Hand zu suchen ist sehr zeitaufwendig udn mühsam.
Jemand einen Hinweis?
Gruß
STEPHAN
Tool für Codeoptimierung
Ein Möglichkeit, den zur Laufzeit verwendeten Code zu finden, ist http://nedbatchelder.com/code/modules/coverage.html.
https://www.xing.com/go/invite/18513630.6a91d4
Moin,
folgendes Bash-Skript findet unbenutzte Methoden.
Allerdings ist es nicht sonderlich intelligent, deswegen sollte man der Ausgabe nicht blind vertrauen, sondern vor dem Löschen etwas nachdenken: Bibliotheken stellen normalerweise eine Reihe von Funktionen bereits, die sie selbst nicht benutzen.
Aber für den ersten Schuss sollte es genügen
Gruß,
Manuel
folgendes Bash-Skript findet unbenutzte Methoden.
Code: Alles auswählen
#!/bin/bash
funcs=`egrep -hr '^\s*def ' . | sed -re 's/\s*def ([^ ]*)\(.*/\1/g' | sort | uniq | egrep -v '^\s*__.*__\s*$'`
files=`find -name "*py"`
for func in $funcs; do
cnt=0
for file in $files; do
wcnt=`grep $func $file | grep -v "def " | wc -l`
if [ $wcnt -gt 0 ]; then
cnt=1
break
fi
done
if [ $cnt -eq 0 ]; then
echo $func in `grep -rl "def $func" $files`
fi
done
Aber für den ersten Schuss sollte es genügen
Gruß,
Manuel
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
Ja, das geht mir auch so. Anscheinend ist Logilab nicht sonderlich auf der Höhe, was neue Versionen angeht. Und deren Bug-Tracking-System ist auch nicht gerade durchsichtig -- ich hab jedenfalls nicht herausgefunden, wie man sich da anmeldet und einen Report schreibt.veers hat geschrieben:...wobei pylint bei mir immer stirbt wenn ich ein with statement im code habe...
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
"Marc Rintsh"
Grmpf. Die können also nichtmal einen Namen per Copy'n'Paste aus einer E-Mail transferieren.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Meinst du die?Y0Gi hat geschrieben:*an Pygments-Commit-Message denk*
So, jetzt musste ich auch mal Sherlock Holmes spielen und in diesem Thread etwas beitragen. *SCNR*
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice