2010-06-18 2 views
1

Как я могу узнать, что я вижу все предупреждения об устаревании?Где можно найти предупреждения об отказе от Rails?

Будут ли они распечатываться во время загрузки? Таким образом, достаточно запустить консоль и просмотреть выход?

(если да, то у меня нет никакой. W00t!)

Спасибо, Джон

ответ

1

Будет ли все они распечатывают во время загрузки? Таким образом, достаточно запустить консоль и просмотреть выход?

Нет; вы не увидите каких-либо предупреждений об устаревании до выполнения. Например, если вы пытаетесь использовать find_all вместо find(:all), Ruby не знает, что вы используете find_all, пока вы на самом деле не нажмете эту строку.

Ruby - динамический язык, поэтому было бы очень сложно доказать, что все устаревшие коды фактически исчезли; привязки к «плохому» коду могут быть отложены и, следовательно, нет возможности гарантировать, что он вызван в первую очередь. Ваш лучший выбор - инструмент статического анализа, который читает ваш код в абстрактном выражении и ошибочно на стороне ложных срабатываний.

+0

«Ваш лучший выбор - инструмент статического анализа, который читает ваш код в абстрактном выражении и ошибается на стороне ложных срабатываний». - Есть ли такой инструмент? :) также, может быть, быстрый и грязный ответ - это grep мой журнал для «depreca»? –

+1

Да, взгляните на 'metric_fu' и' Reek'. Тем не менее, они смотрят на другие вещи, кроме устаревшего кода, и в целом они нацелены на запахи кода, но они настраиваются. –

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