0
是有辦法排除來自sonarqube分析一些代碼行,不排除整個源代碼文件?也許有一個註釋或類似的東西?排除的PHP代碼的某些行從sonarqube分析
我給你舉個具體的例子,在那裏我需要排除某個代碼異味未使用的功能參數:
我實現這樣的驗證方法:
public function validateTruth(string $attribute, $value) : bool
{
$acceptable = [
'0',
0,
'false',
false,
'1',
1,
'true',
true,
'no',
'yes',
];
return in_array($value, $acceptable, true);
}
以擴展\照亮\合同\驗證\廠與擴展方法:
$validationFactory->extend(
'truth',
Validator::class . @validateTruth',
'The :attribute field must be some kind of truth value.'
);
我實現不使用所有必需的參數,但我不能只是省略了第一個參數。沒有$ attribute參數的情況下,這個擴展將無法使用回調方法。所以擴展方法顯然需要一個具有一定參數集的回調函數,但它不提供一個接口或類似的東西,所以缺少的參數會自動從sonarqube中排除。
是有辦法排除僅此代碼味道,但不排除從sonarqube分析整體功能或文件?我更喜歡源代碼中的解決方案,因爲我們在開發生命週期中使用了不同的sonarqube實例,所以在web前端中標記這樣的代碼會更難以維護。
感謝您的快速反應。帶有// NOSONAR評論的建議解決方案似乎適用於聲納跑步者。但此評論似乎並不在IDE中工作(至少對於PHP)雖然有對SonarLint的IntelliJ一個封閉的問題在https://jira.sonarsource.com/browse/SLI-20 –
@GordonGünther哪個IDE是你在用嗎?在我剛剛驗證的IntelliJ中,'NOSONAR'正常工作。儘管如此,IntelliJ將繼續在這些方面提高自己的問題。試試這個:'long i = 0l;'(1個IntelliJ問題+ 1個SonarQube問題),然後:'long i = 0l; // NOSONAR'(1個IntelliJ問題)。 – slartidan
我正在使用PhpStorm,並且在重新啓動它的IDE後。 –