V8008. Suspicious access to a collection element by a constant index inside a loop.
Анализатор обнаружил обращение к одному и тому же элементу коллекции в цикле for на каждой итерации по константному индексу.
Рассмотрим пример некорректного кода:
func ProcessParameters(method Method) {
var parameters []Parameter = method.GetParameters()
for i := 0; i < len(parameters); i++ {
typeName := parameters[0].TypeName
....
}
}
На каждой итерации цикла планировали сохранять некое значение i-го элемента слайса parameters в переменную typeName, но допустили опечатку и на каждой итерации работают с одним и тем же элементом — первым.
Корректный вариант кода:
func ProcessParameters(method Method) {
var parameters []Parameter = method.GetParameters()
for i := 0; i < len(parameters); i++ {
typeName := parameters[i].TypeName
....
}
}