Sahi 自動化ツールを SonarQube に正常に統合して結果を得ることができましたが、問題は、sahi スクリプトに関連する問題を報告し、重複する関数を見つけるための一連のルールを定義することです。
これがSahiのコードスニペットです
ファイル名: sample1.sah
function eno_selectFromCombo($Field_Name, $Value) //Function name
{
if($Value!="")
{
_setStrictVisibilityCheck(true);
if(_exists(_select($Field_Name)))
{
_assertEqual(false, _select($Field_Name).disabled)
_setSelected(_select($Field_Name),$Value);
}
else
{
onScriptError($Field_Name + " doesn't exist ")
}
_setStrictVisibilityCheck(false);
}
else
{
_log($Field_Name + " is set with default value")
}
}
ファイル名: sample2.sah
function eno_selectCombo($Field_Name, $Value) //Different function name but same set of code
{
if($Value!="")
{
_setStrictVisibilityCheck(true);
if(_exists(_select($Field_Name)))
{
_assertEqual(false, _select($Field_Name).disabled)
_setSelected(_select($Field_Name),$Value);
}
else
{
onScriptError($Field_Name + " doesn't exist ")
}
_setStrictVisibilityCheck(false);
}
else
{
_log($Field_Name + " is set with default value")
}
}
コピーされた同じコード セットですが、名前が異なります
上記の例では、
問題がある場合、問題を特定するためのルールを定義するにはどうすればよいですか?
同じコード セットで関数名が異なる重複関数を見つけるにはどうすればよいですか? これにより、冗長な機能を減らすことができます