2013-08-28 4 views
1

Я получаю ниже ошибки в моем Robot классе:Руби Reek проверка качества

Commands tests @robot.placed at least 4 times (RepeatedConditional) 

Это проблемный код, который вызывает его:

def move 
    @robot.move_forward if @robot.placed 
end 

def left 
    @robot.left if @robot.placed 
end 

def right 
    @robot.right if @robot.placed 
end 

def report 
    puts @robot.report_current_position if @robot.placed 
end 

Как бы мы реорганизовать это, чтобы избежать это предупреждение?

ответ

1

вы должны реорганизовать его в одном методе

def robot_placed? 
    @robot.placed 
end 

, а затем вызвать метод в своих методах

def right 
    @robot.right if robot_placed? 
end 

и положить robot_placed? в частном разделе вашего класса ;-)

Смежные вопросы