ponto de função à relação kloc como um software métrica ... o “Name That Tune” métrica?

StackOverflow https://stackoverflow.com/questions/243971

  •  04-07-2019
  •  | 
  •  

Pergunta

O que você acha do uso de uma métrica de ponto de função de linhas de código como uma métrica?

Isso me faz pensar do velho game show "Name That Tune". "Eu o nome da música em três notas!" Eu posso escrever essa funcionalidade em 0,1 klocs! Isso é útil?

Seria certamente parecem promover o uso de biblioteca, mas é isso que você quer?

Foi útil?

Solução

Eu acho que é uma péssima idéia. Tão mau como pagar programadores por linhas de código que eles escrevem.

Em geral, eu prefiro código concisa sobre detalhado código, mas apenas enquanto ele ainda expressa a intenção dos programadores claramente. Maximizando pontos de função por kloc vai encorajar todos a escrever seu código tão brevemente quanto puderem, que vai além conciso e em enigmática. Ele também irá incentivar as pessoas a participar de linhas adjacentes de código em uma linha, mesmo se disse juntando não seria de outra forma desejável, apenas para reduzir o número de linhas de código. O comprimento máximo da linha de também se tornar um problema.

Outras dicas

KLOC é tolerável se você cumprir rigorosamente os padrões de código, tipo de como usar requisitos de página para um relatório:. Sem colocar cinco declarações em uma única linha ou remover a maior parte do espaço em branco do seu código

Eu acho que uma maneira que você poderia decidir como ela é eficaz para o seu ambiente é olhar para várias aplicações e módulos diferentes, obter uma estimativa aproximada da qualidade do código, e que ao comparar o tamanho do código. Se você puder demonstrar que a qualidade do código é consistente dentro de sua organização, em seguida, KLOC não é uma má métrica.

De certa forma, você vai enfrentar a mesma batalha com qualquer métrica similar. Se você contar recursos ou de funções pontos, ou simplesmente recursos ou módulos, você ainda vai querer peso-los de alguma forma. Em última análise, você vai precisar de algum tipo de suplemento subjetiva para os dados objetivos que você vai cobrar.

"O que você acha do uso de uma métrica de ponto de função de linhas de código como uma métrica?"

Não fique com a pergunta. A relação acima é - para um determinado idioma e da equipe - um fato estatístico simples. E tende para um valor médio com um desvio padrão pequeno.

Existem muitos graus de liberdade: como você contar pontos de função, o idioma que você está usando, como (coletivamente) inteligente a equipe é. Se você não mudar as coisas, as estadias de valor constante.

Depois de alguns projetos juntos, você tem uma expectativa sólida que 1200 pontos de função serão 12.000 linhas de código em sua estrutura / organização Idioma / equipe.

ksloc / FP é uma observação estatística nua. Claramente, há algo mais sobre isso que está incomodando. Você poderia ser mais específico na sua pergunta?

A métrica de Pontos de Função para linhas de código é realmente usado para gerar os gráficos de nível de linguagem (na verdade, é Pontos de Função às Demonstrações) para dar um sentido aproximado de quão poderosa uma linguagem de programação é. Aqui está um exemplo: http://web.cecs.pdx.edu/ ~ Timm / dm / functionpoints.html

Eu não recomendaria usar essa relação para qualquer outra coisa, a não ser aproximações de alto nível como o gráfico de nível de linguagem.

Promover o uso de biblioteca é uma coisa boa, mas a outra coisa a ter em mente é que você vai perder na proporção quando você está construindo as bibliotecas, e só vai pagá-lo com os dividendos de poupança ao longo do tempo. Feijão-contadores não vai entender isso.

Eu, pessoalmente, gostaria de ver um ponto Função à relação métrica ABC - como eu sou curioso sobre como o ABC métrica (que indica o tamanho e inclui complexidade como parte da info) se relacionam - talvez linear, talvez exponencial, etc ... www.softwarerenovation.com/ABCMetric.pdf

Todas as métricas de chupar. Minha teoria tem sido sempre que se você Have para tê-los, em seguida, usar a coisa mais fácil que puder para reuni-los e ser feito com ele e para coisas importantes.

Isso geralmente significa algo ao longo das linhas de

grep -c ";" *.h *.cpp | awk -F: '/:/ {x += $2} END {print x}'

Se você estiver procurando por um para rastrear efficency código "métrica", não. Se você insistir, mais uma vez tentar algo estúpido, mas fácil como o tamanho do arquivo de origem (consulte o comando grep acima, w / o tubo awk) ou McCabe (com um programa de balcão).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top