Выяснение того, какое приложение Gems Rails не использует - PullRequest
5 голосов
/ 20 марта 2012

Работа над приложением, которое имеет почти 200 драгоценных камней.Кто-нибудь выяснил, как выделить драгоценные камни, которые не используются, чтобы их можно было извлечь из смеси.

1 Ответ

3 голосов
/ 20 марта 2012

Из-за динамической природы Ruby невозможно точно знать, используется ли драгоценный камень без тестирования.Несмотря на то, что загружать их в режиме ad-hoc без веской причины - плохая практика, в любой момент выполнения программы может потребоваться гем.Их не нужно загружать заранее.

Несмотря на то, что могут быть преимущества загрузки гемов по требованию, например, уменьшение объема памяти и сокращение времени запуска, трудно определить, является ли илигде они на самом деле используются.

Не всегда есть корреляция между именем драгоценного камня и методами, которые он использует.В то время как у многих есть пространство имен, которое легко найти, некоторые просто добавляют методы к существующим классам, что может усложнить их отслеживание, особенно если они зашли так далеко, что исправляют старые методы с новыми с тем же именем.

Если вы можете выполнить большую часть приложения с помощью своих модульных, функциональных и интеграционных тестов, возможно, можно будет использовать ruby-prof , чтобы хотя бы понять, какие драгоценные камни используются.Это может упростить идентификацию кандидатов на удаление.

...