Estatísticas para tipos de arquivos do projeto [fechados]

0

Eu aprendi que havia um comando cloc para contar linhas de código. Agora eu me pergunto se os tipos de arquivos são precisos? Devo procurar o projeto cloc para saber como os tipos de arquivo são detectados? A razão pela qual eu me pergunto é que o cloc parece ter falsos positivos se não me engano quando comparo os tipos de arquivo com o tree|ls *.py , não há saída mesmo que cloc relata arquivos python no diretório atual.

    
por Niklas Rosencrantz 21.04.2017 / 01:35

2 respostas

3

Se você quiser verificar o número de arquivos .py em sua árvore para compará-lo ao número encontrado por cloc , sugiro algo como

find . -type f -name \*.py -printf '1' | wc -c

em vez disso.

    
por 21.04.2017 / 10:24
2

Você pode aumentar o detalhamento e obter uma lista de arquivos identificados, por exemplo, para o Python:

cloc -v=3 . | grep 'call_counter(.* Python)'

Exemplo de saída:

-> call_counter(./data/action_i18n_strings.py, Python)
-> call_counter(./files/usr/share/nemo/actions/myaction.py, Python)

E, em seguida, verifique manualmente os arquivos, lendo-os.

O call_counter é chamado uma vez para cada arquivo correspondente.

Versões anteriores a 1.64 identificam apenas scripts Python verificando a extensão .py . A partir da versão 1.64 cloc identifica o Python pelo shebang também:

Added python, python2.6, python2.7, python3, python3.3, python3.4 as script executables to identify Python files that don't end in .py.

Quanto a mais recente dev. versão procura por estes ambientes:

%{$rh_Language_by_Script}    = (             # {{{1
            'awk'      => 'awk'                   ,
            'bash'     => 'Bourne Again Shell'    ,
            'bc'       => 'bc'                    ,# calculator
            'crystal'  => 'Crystal'               ,
            'csh'      => 'C Shell'               ,
            'dmd'      => 'D'                     ,
            'dtrace'   => 'dtrace'                ,
            'idl'      => 'IDL'                   ,
            'kermit'   => 'Kermit'                ,
            'ksh'      => 'Korn Shell'            ,
            'lua'      => 'Lua'                   ,
            'make'     => 'make'                  ,
            'octave'   => 'Octave'                ,
            'perl5'    => 'Perl'                  ,
            'perl6'    => 'Perl'                  ,
            'perl'     => 'Perl'                  ,
            'miniperl' => 'Perl'                  ,
            'php'      => 'PHP'                   ,
            'php5'     => 'PHP'                   ,
            'python'   => 'Python'                ,
            'python2.6'=> 'Python'                ,
            'python2.7'=> 'Python'                ,
            'python3'  => 'Python'                ,
            'python3.3'=> 'Python'                ,
            'python3.4'=> 'Python'                ,
            'python3.5'=> 'Python'                ,
            'rexx'     => 'Rexx'                  ,
            'regina'   => 'Rexx'                  ,
            'ruby'     => 'Ruby'                  ,
            'sed'      => 'sed'                   ,
            'sh'       => 'Bourne Shell'          ,
            'swipl'    => 'Prolog'                ,
            'tcl'      => 'Tcl/Tk'                ,
            'tclsh'    => 'Tcl/Tk'                ,
            'tcsh'     => 'C Shell'               ,
            'wish'     => 'Tcl/Tk'                ,
            'zsh'      => 'zsh'                   ,
            );
# 1}}}
    
por 21.04.2017 / 02:40

Tags