删除已注释掉但不是实际提交的代码

时间:2017-08-23 09:29:14

标签: c++ c comments

我们有一个庞大的遗留代码库,其中包含大量已注释掉的代码,现在正在污染我们的源代码文件。另一方面,我们有真正的意见,我想保留。

有没有办法在C / C ++中找到哪些是源代码的注释并删除它们以便清理代码库?

想象一下以下代码

// the function foo is doing foo
void foo(){
     // bar();
     bar2();
}

旧功能栏()已被注释掉,不再使用。我喜欢使用自动方式删除过时的源代码,但不应触及纯文本注释。因此,在清理后,代码看起来像

// the function foo is doing foo
void foo(){
     bar2();
}

我找到了thisthat来删除所有评论。这不是我喜欢做的事。

clang tidy可以做这个工作吗?

1 个答案:

答案 0 :(得分:0)

这真让我大吃一惊,所以,

我已经在javascript中快速编写了一个小程序,删除了在文本中显示//;的行。

您可以编写您自己的算法,并删除这样的行。例如,您可以将@符号添加到您希望删除的行中,然后使用它运行您的程序。你需要制作自己的算法,或者只是像我一样的简单算法。

这是我的js代码:它删除行并将结果作为array记录到控制台。 您应该像这样编写程序,或者您喜欢。

<html>
<textarea id="txtArea" rows="40" cols="300">
// the function foo is doing foo
void foo(){
    // bar();
     bar2();
}
</textarea>

</html>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>

<script>

var x = document.getElementById("txtArea").value;
var lines = x.split("\n");
var count = lines.length;

for(var i =0; i< lines.length; i++){

if(lines[i].indexOf("//")){

console.log("haha");

}else{

    if(lines[i].indexOf(";")){
        lines[i] = "";
    //remove row
    }else{
    }
}
}
document.getElementById("txtArea").value = lines;
var y;

console.log(lines);

</script>