Un compteur peut être cohérent tout en répondant à une question plus étroite que son titre. SourceTally définit une ligne physique comme du texte terminé par LF, CRLF ou CR, plus un segment final non terminé. Les lignes composées d’espaces sont séparées. La règle est reproductible pour le texte compatible UTF-8, mais n’identifie ni instructions, chemins exécutables, déclarations, commentaires, code généré ou valeur.

Les lignes physiques décrivent la mise en page

Une instruction peut occuper une ligne ou vingt après formatage. Un bundle minifié peut contenir beaucoup de comportement sur une ligne. Documentation, configuration, jeux de test, clients générés et données peuvent ajouter des milliers de lignes sans logique nouvelle. Utilisez le total comme inventaire, pas comme classement des compétences.

La SLOC logique exige une grammaire

Une ligne logique vise les constructions du langage, pas les rangées visuelles. Points-virgules, indentation signifiante, expressions multilignes, macros, modèles, langages embarqués, chaînes et préprocesseur rendent la définition propre au langage. SourceTally ne présente pas un découpage de texte comme un compte logique universel.

Les commentaires exigent un contexte lexical

Les mêmes caractères peuvent ouvrir un commentaire, figurer dans une chaîne, une expression régulière ou un langage embarqué. Un bloc traverse chunks et lignes. La documentation peut être source et documentation. Une séparation fiable exige des lexers et politiques révisés ; la première version montre total, vides et non vides.

Comparez des exécutions équivalentes

Notez commit ou instantané, exclusions, échecs, encodage, choix des fichiers générés et version. Une différence n’a de sens qu’à conditions égales. Davantage de lignes peut signifier tests, validation, documentation, interfaces générées ou duplication. Traitez le nombre comme signal d’inspection, jamais comme objectif isolé.