Este projeto é uma ferramenta que, por si só, prestará assistência aos professores de ciência da computação para ajudar na classificação de tarefas. Essa ferramenta contará e produzirá o número de 'erros comuns' (por exemplo, classes sem documentos, funções sem documentos, etc.), bem como o número de estruturas de computação comuns (por exemplo, funções, classes, construções de looping, importações, etc.), todas conforme especificado pelo usuário na interface da linha de comando.
Este projeto também pode servir como um aprimoramento colaborativo para importar essa ferramenta para o próprio gatorgradener da Allegheny College para criar novas verificações do GatorGradener. O programa utiliza a libcst, que analisa o código Python como um CST (concreto sintaxe) que mantém todos os detalhes de formatação (comentários, espaços brancos, parênteses, etc.). Como uma ferramenta lançada no PIPY, essa ferramenta também pode ser importada para qualquer outra ferramenta de classificação automatizada.
poetry add pypi-counter no seu terminal.from pypi_count.py_counter import PyPiCount .PyPiCount Class no arquivo especificado com a seguinte sintaxe: stored_path = PyPiCount("path_to_file") ao longo deste exemplo, stored_path é uma variável de instância que armazena o resultado do arquivo analisado. As funções devem ser chamadas em um arquivo analisado.stored_path.[function_name] . Por exemplo, stored_path.count_comments()Para obter melhores resultados, recomendamos a adição de uma declaração de impressão, pois as funções retornarão apenas o número do construto especificado. Por exemplo,
console . print ( f"Number of comments in this file: { stored_path . count_comments () } " )Produzirá:
Number of comments in this file : 26A lista de funções disponíveis são:
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 ( + = , -= )Os usuários podem começar com este projeto seguindo as seguintes etapas:
pip install pypi-counter ou pipx install pypi-counterpoetry run pypicount --help . Este comando exibe todos os diferentes argumentos que podem ser aprovados. A lista dos diferentes argumentos estão listados abaixo: 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 .Esses são os diferentes tipos de argumentos que o Pypicount aceitará nesta versão.
Depois de encontrar os argumentos escolhidos, execute o seguinte:
poetry run pypicount - - [ argument ] - - input - file path / to / file Comando de Exemplo de Execução:
poetry run pypicount - - class - with - docstrings - - input - file tests / input / sample_file . pySaída de amostra:
# of functions with docstrings: 1