我正在用 C 编写一个简单的 LOC 计数器来计算我的 C 源文件中有多少行代码。它旨在从命令行运行,将目标文件重定向为输入,并查看打印到标准输出的总行数。例如:
counter.exe < counter.c
15
到目前为止,我使用的唯一规则是:
只计算超过 3 个字符的行(没有空行或只有右大括号和分号的行等)。
不要将空格算作字符。
这是我的程序:
#include <stdio.h>
int main() {
int input;
int linecount = 0;
int charcount = 0;
while ((input = getchar()) != EOF) {
if (input == ' ') {
}
else if (input == '\n') {
if (charcount > 3) {
linecount++;
}
charcount = 0;
}
else {
charcount++;
}
}
printf("%d\n", linecount);
return 0;
}
我的问题是,您能否对规则进行一些改进以使其成为更有效的措施?人们是否经常将注释视为有效的代码行?空格或空行怎么样?
我不想开始就 LOC 计数的有效性展开辩论,这是我在几次采访中被问到的问题,我认为总的来说,我认为我自己的项目有多少行代码值得了解。谢谢!