ForHosting KIT · Ferramentas para dev

Contar linhas de código, comentários e linhas vazias

Descubra quanto de um arquivo é código de fato: a função de exemplo dá 6 linhas, sendo 4 de código, 1 de comentário e 1 em branco, segundo as regras de comentário da linguagem que você escolher. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Idioma
Javascript
Você obtém
Total de linhas
6
Linhas em branco
1
Linhas de comentário
1
Linhas de código
4

Meça um trecho ou arquivo-fonte completo com as regras de comentários da linguagem de programação escolhida. O contador coloca cada linha física em uma única categoria: vazia, comentário ou código, além de informar o total. Ele reconhece comentários comuns de linha e bloco, ignora marcadores dentro de strings entre aspas e considera como código uma linha que também tenha comentário. Assim, você obtém resultados repetíveis para relatórios, revisões, migrações e automações.

Escolha a linguagem e preserve o texto-fonte

Envie o código exatamente como ele aparece e selecione a linguagem na lista aceita. A escolha é importante porque os mesmos caracteres têm significados diferentes: cerquilha inicia comentários em Python e shell, duas barras em JavaScript e Java, dois hífens em SQL, enquanto HTML usa marcadores em pares. O contador aplica a tabela selecionada, sem tentar deduzir pela extensão ou pelo conteúdo.

Ele separa linhas com LF, CRLF ou retorno de carro. Uma quebra final cria uma linha física vazia e entra na contagem; uma string vazia também representa uma linha vazia. Não remova comentários nem apare o texto inteiro se esses detalhes devem ser medidos.

Uma linguagem fora da lista produz erro de entrada, evitando que uma regra genérica forneça números enganosos.

Entenda a classificação de cada linha

Cada linha física pertence uma única vez a uma categoria exclusiva. Uma linha somente com espaços ou tabulações é vazia, exceto quando está dentro de um comentário de bloco aberto. Uma linha que contém apenas comentário conta como comentário.

Se houver qualquer elemento de código, ela conta como código, mesmo com comentário no final ou no meio. Portanto, as três categorias sempre somam o total. Comentários de bloco continuam ativos até o marcador de fechamento; código antes da abertura ou depois do fechamento faz a linha ser código.

O analisador acompanha aspas simples, duplas, crases e escapes com barra invertida. Por isso, uma URL com duas barras ou uma string com cerquilha permanece código. Trata-se de linhas físicas, não de instruções: várias instruções em uma linha valem uma linha de código, e uma instrução dividida pode valer várias.

Use os totais com critérios consistentes

A resposta traz a linguagem normalizada e os totais de linhas, linhas vazias, comentários e código. Você pode validar o resultado somando as três categorias e comparando com o total. Considere linhas de código apenas como indicação aproximada de volume, comentários como contexto documental e linhas vazias como contexto de formatação, nunca como medida direta de qualidade ou produtividade.

Arquivos gerados, dependências, testes e estilos compactos alteram bastante os números. Em relatórios de repositório, defina primeiro os arquivos incluídos, processe cada um com a linguagem correta e agregue sob uma política documentada. A implementação não procura arquivos, não infere extensões e não usa rede, relógio ou aleatoriedade.

Preparar um inventário do repositório

Classifique arquivos-fonte e agregue totais consistentes de código, comentários e linhas vazias em um relatório interno.

Estimar o escopo de uma migração

Compare o volume físico de componentes selecionados antes de planejar uma troca de linguagem ou framework.

Acompanhar mudanças em código gerado

Registre categorias determinísticas e sinalize alterações inesperadas no volume de código ou comentários.

Quanto custa uma contagem?

A experiência no navegador executa localmente a mesma lógica determinística.

Uma linha com código e comentário final conta duas vezes?

Não. Ela conta uma vez como código, mantendo todas as categorias mutuamente exclusivas.

Marcadores dentro de strings são tratados como comentários?

Não. Marcadores em strings reconhecidas entre aspas são considerados parte do código.

Como são contados comentários de bloco com várias linhas?

Linhas somente do bloco contam como comentários; uma linha que também contenha código conta como código.

A linguagem de programação é detectada sozinha?

Não. Você escolhe a linguagem na lista e as regras de comentário dela são aplicadas. Nada é adivinhado pelo nome do arquivo ou pelo conteúdo, então o mesmo texto sempre dá a mesma contagem e um trecho ambíguo não é julgado pelas regras erradas.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/dev2/count-lines-of-code

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/dev2/count-lines-of-code \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"function add(a, b) {\n  // Return the sum\n  return a + b;\n}\n","language":"javascript"}'
{
  "text": "function add(a, b) {\n  // Return the sum\n  return a + b;\n}\n",
  "language": "javascript"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev2.count_lines_of_code",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Use os totais com critérios consistentes

Ela examina somente o texto enviado; entradas iguais produzem o mesmo JSON, e as regras de exclusão permanecem sob seu controle.

O que acontece quando a linguagem é desconhecida?

A capacidade retorna um erro invalid_input informando que a linguagem não foi reconhecida, sem adivinhar regras.

Ver a documentação completa do KIT →