В одной библиотеке, которая интенсивно используется в нашем проекте, есть ограничение, что переменные ее классов никогда не должны быть статическими.(Это ULC ).Насколько я понял, это из-за необходимости сериализации их всех.И проблема с этим правилом в том, что оно не является строгим и может быть причиной ошибок, которые очень сложно отлаживать.
Мы собираемся написать модуль для Checkstyle, чтобы обнаруживать статические переменные таких типов (вероятно, обнаруживаемые некоторым настраиваемым регулярным выражением).И нам нужно знать, насколько необходима эта проверка для других разработчиков.
Итак, вопрос в том, каковы общие обстоятельства, когда переменные некоторых типов никогда не должны быть статическими?