另外在命名是也要特别注意,命名能都充分表现你的变量、方法、类的含义,这样也能起到注释的作用。
还有就是类、方法不能过大,方法十几行也就差不多了,太多可读性就比较差了。
你看的是什么开源代码项目首答?有些本身条理清晰,逻辑者亮慧结构明了的键尘代码自然不需要太多注释。我看过GCC和GCJ的源代码,没发现你说的现象。而且注释尽量要多是个什么逻辑,适量就行了。求采纳
代码如下:#include<stdio.h>
#include
<stdlib.h>
#include
<string.h>void
main()
{
FILE*
fp
=
fopen("test.cpp"伍锋伍,
"r")
if(NULL
==
fp)
{
return
}
fseek(fp,
0L,
SEEK_SET)
char
char_line[1024]
=
{0}int
totoalline
=
0
printf("/****************原始文件*************************/\n")
while(1)
{
fgets(char_line,
1024,
fp)
int
size
=
strlen(char_line)
if(0
>=
size)
{
break
}
printf("%s",
char_line)
memset(char_line,
0,
1024)
totoalline++
}
printf("/****************原始文件腔或结束,共%d行*************/\n",
totoalline)fseek(fp,
0L,
SEEK_SET)
totoalline
=
0
FILE*
fp_to
=
fopen("result.cpp",
"w")
printf("\n\n/****************去除冗余后的文件*****************/\n")
while(1)
{
fgets(char_line,
1024,
fp)
int
size
=
strlen(char_line)
if(0
>=
size)
{
break
}
int
i
for(i=0
i<size-1
i++)
{
if('/'
==
char_line[i]
&&
'/'
==
char_line[i+1])
{
break
}
}
if(0
!=
i)
{
bool
flag_tab
=
0
for(int
j=0
j<i
j++)
{
if('\t'
!=
char_line[j]
&&
'
'
!=
char_line[j])
{
flag_tab
=
true
break
}
}
if(flag_tab)
{
char*
ret
=
(char*)malloc(sizeof(char)*(i+1))
ret[i]
=
0
memcpy(ret,
char_line,
i)
printf("%s\n",
ret)
//写入到新文件
fwrite(ret,
sizeof(char),
i,
fp_to)
fwrite("\r\n",
sizeof(char),
2,
fp_to)
free(ret)
totoalline++
}
}
memset(char_line,
0,
1024)
}
printf("基者/****************去除冗余后的文件结束,共%d行*****/\n",
totoalline)
printf("详情查看resutl.cpp\n")
fclose(fp)
fclose(fp_to)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)