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

问题描述

我有一个 C# 表单应用程序。我有一些菜单项可以使用预定义的 URI 打开谷歌浏览器。但是现在我的 SonarQube Scan 给了我这个错误/警告(S1075)来重构我的代码。我该怎么办?

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

解决方法

您有三个选择:

  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。

第三个选项是推荐的。