Per tenir un codi net, és interessant eliminar aquestes funcions que s'ens tornen obsoletes, per això he creat aquest programet, que el que fa és llistar les funcions que no es criden:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
funcions_utils = []
funcions_orfes = []
funcions = []
instancies = []
#funcions = os.popen ("ls -l")
print "start [OK]"
pop_funcions = os.popen ("grep \"def \" *.py | cut -d ' ' -f2")
for l in pop_funcions.readlines():
#elimina el salt de linia final:
aux = l[:-1]
aux = aux.split('(')[0]
funcions.append(aux)
print "llistat funcions [OK]"
util = False
for f in funcions:
pop_instancies = os.popen ("grep "+f+" *.py | cut -d':' -f2")
for inst in pop_instancies.readlines():
#elimina el salt de linia final:
i = inst[:-1]
instancies.append (i)
for i in instancies:
if not(i.startswith ("def ") or i.startswith("\tdef ") or "#" in i):
util = True
if util:
funcions_utils.append(f)
instancies = []
util = False
funcions_utils = set (funcions_utils)
funcions_orfes = filter(lambda x:x not in funcions_utils, funcions)
print "llista funcions orfes [OK]"
for f in funcions_orfes:
print f
NOTES:
Aquest programa no us servirà de gaire si poseu el símbol "#" a la mateixa línia de codi, és a dir si feu coses com aquestes:
res = nom_funcio()#a res hi poso el resultat
Tot i que sintàcticament és correcte, no sóc partidari de posar els comentaris d'aquesta manera, amb tot, no us serà gaire complicat modificar el codi d'aquest programa per a que també tingui en compte aquesta possibilitat.
També heu de tindre en compte que només revisa els fitxers *.py del mateix directori.
No hem faig responsable si aquest programa no fa el que dic que fa i.e. abans de borrar les funcions feliçment, verifiqueu a mà que realment no les fareu servir :P
Merda el codi no queda indexat... joders merda de blogspot... abans ho indexava bé... en fi, qui vulgui el codi del programa que ho digui en un comentari ;P
Cap comentari:
Publica un comentari a l'entrada