Métricas de produto são métricas de previsão empregadas para medir atributos internos de um sistema de software. O tamanho de sistema, medido em linhas de código, ou o número de métodos associados a cada classe de objeto são exemplos de métricas de produto. Em relação às métricas estáticas de produto de software, assinale a afirmativa INCORRETA.
- A)Índice Fog: é a medida do comprimento médio de palavras e sentenças em documentos. Quanto maior o valor do índice Fog de um documento, mais fácil é a sua compreensão.
Errada, porque o índice Fog aumenta quando o texto fica mais difícil de compreender, e não mais fácil.
- B)Complexidade ciclomática: é a medida da complexidade de controle de um programa. Essa complexidade de controle pode estar relacionada à compreensibilidade do programa.
Certa, pois a complexidade ciclomática mede a complexidade do fluxo de controle e se relaciona com a compreensibilidade do programa.
- C)Comprimento de código: é a medida do tamanho de um programa. Geralmente, quanto maior o tamanho do código de um componente, mais complexo e sujeito a erros o componente está.
Certa, porque o comprimento de código mede o tamanho do programa e, em geral, códigos maiores tendem a ser mais complexos e sujeitos a erros.
- D)Profundidade de aninhamento condicional: é a medida da profundidade de aninhamento de declarações if em um programa. Declarações if profundamente aninhadas são difíceis de entender e potencialmente sujeitas a erros.
Certa, já que maior profundidade de aninhamento em estruturas condicionais dificulta a leitura e aumenta a chance de erro.
- E)Comprimento de identificadores: é a medida do comprimento médio dos identificadores (nomes de variáveis, classes, métodos etc.) em um programa. Quanto mais longos os identificadores, mais provável que sejam significativos e, portanto, mais compreensível o programa.
Certa, pois o comprimento médio dos identificadores pode indicar nomes mais significativos e, portanto, melhor compreensibilidade do código.
Gabarito: A
Métricas estáticas de produto observam o software sem precisar executá-lo, olhando atributos internos como tamanho, complexidade e legibilidade. Elas ajudam a prever manutenção, chance de erro e dificuldade de entendimento, então são muito usadas em engenharia de software para “dar um cheiro” no código antes que o problema vire incêndio. Entre as métricas clássicas, você encontra linhas de código, complexidade ciclomática, profundidade de aninhamento e tamanho de identificadores. A ideia é simples: quanto mais longo, mais tortuoso e mais escondido o código estiver, maior tende a ser o esforço para entender e manter. O gabarito está na alternativa A porque ela inverte o sentido do índice Fog. O índice Fog é uma métrica de legibilidade textual: quanto maior o valor, mais difícil é a compreensão do texto, e não mais fácil. Em outras palavras, Fog alto não é “texto amigo”, é texto que faz o leitor suar um pouco mais. As demais alternativas descrevem corretamente métricas estáticas de produto e seus efeitos usuais na compreensão e na propensão a erros. Não há aqui uma pegadinha de lei ou jurisprudência, e sim de conceito clássico de métricas de software.