Ce projet est un outil qui, à lui seul, fournira une assistance aux professeurs d'informatique pour aider à classer les affectations. Cet outil comptera et sortira le nombre de «erreurs courantes» (par exemple, classes sans docstrings, fonctions sans docstrings, etc.) ainsi que le nombre de structures informatiques courantes (par exemple, fonctions, classes, constructions en boucle, importations, etc.) tout comme spécifié par l'utilisateur dans l'interface de ligne de commande.
Ce projet peut également servir d'amélioration collaborative pour importer cet outil dans Gatorgrader du Allegheny College pour créer de nouveaux chèques Gatorgrader. Le programme utilise Libcst, qui analyse le code Python en tant que CST (arborescence de syntaxe en béton) qui conserve tous les détails de formatage (commentaires, espaces blancs, parenthèses, etc.). En tant qu'outil publié sur Pipy, cet outil peut également être importé dans n'importe quel autre outil de classement automatisé.
poetry add pypi-counter dans votre terminal.from pypi_count.py_counter import PyPiCount .PyPiCount sur le fichier spécifié avec la syntaxe suivante: stored_path = PyPiCount("path_to_file") Tout au long de cet exemple, stored_path est une variable d'instance qui stocke le résultat du fichier analysé. Les fonctions doivent être appelées sur un fichier analysé.stored_path.[function_name] . Par exemple, stored_path.count_comments()Pour de meilleurs résultats, nous vous recommandons d'ajouter une instruction d'impression, car les fonctions ne renvoient que le nombre de la construction spécifiée. Par exemple,
console . print ( f"Number of comments in this file: { stored_path . count_comments () } " )Produira:
Number of comments in this file : 26La liste des fonctions disponibles est:
count_class_definitions ( file_name )
# returns the number of class definitions
count_comments ( file_name )
# returns the number of comments
count_import_statements ( file_name )
# returns the number of import statements
count_for_loops ( file_name )
# returns the number of for loops
count_while_loops ( file_name )
# returns the number of while loops
count_function_definitions ( file_name )
# returns the number of function definitions
count_functions_without_docstrings ( file_name )
# returns the number of functions without docstrings
count_functions_with_docstrings ( file_name )
# returns the number of functions with docstrings
count_classes_with_docstrings ( file_name )
# returns the number of classes with docstrings
count_classes_without_docstrings ( file_name )
# returns the number of classes without docstrings
count_function_parameters ( file_name , function_name )
# returns the number of function parameters
# after specifying the function name
count_assignment_statements ( file_name )
# returns the number of assignment statements
count_augmented_assignment_statements ( file_name )
# returns the number of assignment statements that include
an augmented assignment operator ( + = , -= )Les utilisateurs peuvent commencer ce projet en suivant les étapes suivantes:
pip install pypi-counter ou pipx install pypi-counterpoetry run pypicount --help . Cette commande affiche tous les différents arguments qui peuvent être passés. La liste des différents arguments est répertoriée ci-dessous: Usage : pypicount [ OPTIONS ] INPUT_FILE
Main method to display the different options .
Arguments :
INPUT_FILE [ required ]
Options :
- - class - definitions [ default : False ]
- - import - statements [ default : False ]
- - comments [ default : False ]
- - function - definitions [ default : False ]
- - if - statements [ default : False ]
- - function - without - docstrings [ default : False ]
- - function - with - docstrings [ default : False ]
- - class - with - docstrings [ default : False ]
- - class - without - docstrings [ default : False ]
- - function - parameters TEXT
- - assignment - statements [ default : False ]
- - augmented - assignment - statements
[ default : False ]
- - while - loops [ default : False ]
- - for - loops [ default : False ]
- - install - completion Install completion for the current shell .
- - show - completion Show completion for the current shell , to
copy it or customize the installation .
- - help Show this message and exit .Ce sont les différents types d'arguments que Pypicount acceptera dans cette version.
Une fois que vous avez trouvé vos arguments choisis, exécutez ce qui suit:
poetry run pypicount - - [ argument ] - - input - file path / to / file Exemple de commande de run:
poetry run pypicount - - class - with - docstrings - - input - file tests / input / sample_file . pyExemple de sortie:
# of functions with docstrings: 1