Chcę zliczyć wiersze kodu w wieloplikowym projekcie Pythona tak dokładnie, jak to możliwe, ale bez uwzględniania komentarzy, docstrukcji lub pustych wierszy w sumie.Jak liczyć wiersze kodu w Pythonie z wyjątkiem komentarzy i poleceń?
Najpierw próbowałem użyć cloc, który jest dostępny jako pakiet Debiana. Ale cloc traktuje większość docstrukcji jako kod - mimo że są komentarzami. (Aktualizacja:. już nie - najnowsze wersje cloc teraz traktują docstrings Python jako komentarze)
Zauważyłem kilka uwag poniżej mówiąc, że docstrings powinny być uwzględnione w całości, ponieważ mogą one być wykorzystywane przez kod, aby wpływać na zachowanie się runtime i dlatego liczą się jako część programów code/data/config. Znaczącym tego przykładem jest "ply", który prosi o pisanie funkcji za pomocą docstrukcji, które, jak pamiętam, zawierają gramatykę i wyrażenia regularne, które są kluczowe dla działania programu. Jednak wydaje mi się to bardzo rzadkim wyjątkiem. W większości przypadków docstrukcje zachowują się jak komentarze. W szczególności wiem, że to prawda dla całego kodu, który chcę zmierzyć. Dlatego chcę je wykluczyć jako takie z mojej liczby linii.
Powiedziałbym licząc komentarzy _is prawej way_, bo w ogólnych __the komentarze są tak samo cenne, jak rzeczywisty kod lines__ – Kimvais
@Kimvais muszę powiedzieć, że miałem doświadczenie w przeciwną 20 lat programowania - komentarze są generalnie bezwartościowe, ponieważ kompilator nigdy ich nie sprawdza :-) –
Python docstrings * are * code - stają się atrybutem funkcji "__doc__" i mogą zawierać testy. Być może musisz zdefiniować, co masz na myśli przez "linie kodu" – Hamish