Quiero contar las líneas de código en un proyecto de Python de varios archivos con la mayor precisión posible, pero sin incluir comentarios, cadenas de documentos ni líneas en blanco en el total.¿Cómo contar las líneas de código en Python excluyendo los comentarios y las cadenas de documentos?
Intenté por primera vez el uso de cloc, que está disponible como un paquete de Debian. Pero cloc trata la mayoría de las cadenas de documentos como código, a pesar de que son comentarios. (Actualización:. Ya no - las versiones recientes de cloc ahora el tratamiento de cadenas de documentación de Python como comentarios)
noto algunos comentarios a continuación decir que las cadenas de documentación deben ser incluidos en el total, ya que pueden ser utilizados por el código para influir en el comportamiento en tiempo de ejecución y, por lo tanto, cuenta como parte de los programas code/data/config. Un ejemplo prominente de esto es 'ply', que le pide que escriba funciones con docstrings que, según recuerdo, contienen gramática y expresiones regulares que son fundamentales para el funcionamiento del programa. Sin embargo, esto me parece ser una rara excepción. La mayoría de las veces, las cadenas de documentos actúan como comentarios. Específicamente, sé que es cierto para todo el código que quiero medir. Así que quiero excluirlos como tales de mi conteo de líneas.
diría contando comentarios _is la way_ razón, porque en las observaciones generales __El son tan valiosas como el código real lines__ – Kimvais
@Kimvais Debo decir que he tenido la experiencia opuesta en 20 años de programación: los comentarios son en general inútiles porque el compilador nunca los comprueba :-) –
Python docstrings * son * code: se convierten en el atributo '__doc__' de la función y pueden contener pruebas. Tal vez necesites definir lo que quieres decir con 'líneas de código' – Hamish