重构代码以不使用绝对路径或 URI

Refactor the code not to use Absolute Paths or URIs

我的 C# WIndows 表单应用程序有一些指向 Web URI 的菜单链接。但是现在我的 SonarQube Scan 给了我这个 error/warning(S1075) 来重构我的代码。那么在 C# 后端代码中使用 Web URI 的 safe/best 方法是什么。

private void HelpDocMenu_Click(object sender, EventArgs e)
{           
   System.Diagnostics.Process.Start("https://docs.google.com/document/d/142SFA/edit?usp=sharing");
}

SonarQube 错误

S1075 Refactor your code not to use hardcoded absolute paths or URIs

您有三个选择:

  1. 忽略它:
private void HelpDocMenu_Click(object sender, EventArgs e)
{       
   #pragma warning disable S1075 // URIs should not be hardcoded    
   System.Diagnostics.Process.Start("https://docs.google.com/document/d/142SFA/edit?usp=sharing");
   #pragma warning restore S1075 // URIs should not be hardcoded
}
  1. 要有这样的临时变量:
private void HelpDocMenu_Click(object sender, EventArgs e)
{           
    var url = "https://docs.google.com/document/d/142SFA/edit?usp=sharing";
    System.Diagnostics.Process.Start(url);
}
  1. 把它放在你的配置文件里,一些settings.json.

推荐第三个选项。