построить инструмент для обнаружения автобокса? - PullRequest
8 голосов
/ 02 августа 2009

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

У меня уже есть опция eclipse, чтобы пометить его на моем конце, но не все в проекте используют одинаковую IDE или одинаковые настройки. Поиск его на стороне сборки кажется единственным способом определить, где он может проникнуть в проект.

Ответы [ 3 ]

3 голосов
/ 03 августа 2009

Findbugs выявит множество особых случаев потенциально проблемных проблем с боксом. Я ссылался непосредственно на один пример, но если вы нажмете Ctrl-F для «поля» на этой странице, вы легко найдете остальные. Я думаю, что поиск конкретных проблем с боксом лучше, чем оптовая маркировка всего. (другими словами, я согласен с 280Z28)

2 голосов
/ 10 июля 2010

Если вы используете Eclipse, откройте «Настройки» и перейдите на страницу Java - Компилятор - Ошибки / Предупреждения. В разделе «Возможные проблемы с программированием» можно включить автобокс / распаковку как предупреждение или ошибку. Этот статический анализ может быть очень полезен при использовании с профилировщиком.

Как упомянуто 280z28, было бы лучше иметь инструмент, который бы обнаруживал случаи автоматической упаковки / распаковки, которые вызываются очень часто и поэтому влияют на производительность. Хотя я не знаю такого инструмента.

0 голосов
/ 02 августа 2009

Лучшим инструментом был бы тот, который выделяет автобокс для путей кода, которые, как доказывает профилировщик, медленны из-за бокса. Форсировать явный бокс - все равно, что избегать сборки мусора, потому что в крайнем случае он может быть медленным. Позвольте инструментам выполнять свою работу - компилятор и язык для выражения фактической проблемы, над которой вы работаете, и профилировщик для выявления проблем с производительностью. Явный бокс неестественен в контексте решения проблемы, потому что он показывает языковые нюансы, которые не являются частью описания решения.

Edit: этот тип комментария уместен здесь? На самом деле я пытаюсь быть полезным - на самом деле я в прошлом специально думал об инструменте для определения экземпляров кода операции CLI box на горячих путях.

...