gpt4 book ai didi

java - 查找长篇评论

转载 作者:太空宇宙 更新时间:2023-11-04 08:29:28 24 4
gpt4 key购买 nike

我必须维护一个大型旧项目,我的前辈(由于缺乏版本控制)已将大部分代码变成了注释。现在我们已经有了版本控制的一切,我觉得我们不再需要这些评论。无论如何,这些评论中的代码已经腐烂了。

我想找到最长的评论。如果有一种方法可以为我提供所有包含 20 多个连续注释行的文件,那就太好了。据我所知,仅使用了 // 。查找 /* */ 是不必要的(甚至可能有害,因为它会找到所有腐烂的 javadoc...叹息)。

最佳答案

这个怎么样:

grep -ERn '^[[:space:]]*//' root_directory

-E 使用“扩展”正则表达式

-R 使其递归目录

-n 打印带有行号的文件名

然后您可以轻松处理此列表以查找连续匹配项 - 只需查找每行输出行号增加 1 的 block 即可。

这假设您不想匹配这样的行:

int x = foo; // some comment

但只有完全注释的行:

// this is a comment
<小时/>

更新:

这是一个简短的 Python 脚本,用于处理上述 grep 的输出:

import sys

filenames_of_interest = set()
filename = None
prev_line_num = 0
comment_count = 0
for line in sys.stdin.readlines():
this_filename, line_num, _ = line.split(':',2)
line_num = int(line_num)
if this_filename != filename:
comment_count = 0
filename = this_filename
elif line_num != prev_line_num + 1:
comment_count = 0
prev_line_num = line_num
comment_count += 1
if comment_count > 20:
filenames_of_interest.add(filename)

print "files with blocks of comments:"
for i in filenames_of_interest:
print ' ', i

它不会正确处理名称中带有冒号的文件,但如果出现问题,修改它来处理它应该不难。

关于java - 查找长篇评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7811050/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com