Какой наиболее подходящий модификатор доступа для serialVersionUID

Укороченная версия:

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

Фон:

Я пишу библиотеку, которая сильно расширяет ArrayList. Я хочу, чтобы Eclipse выдавал предупреждение, если я не включаю serialVersionUID в сериализованный класс. Я также хочу, чтобы компилятор выдавал предупреждение, если он встречает поле БЕЗ комментария javadoc. Наконец, я хочу, чтобы редактор удалил неиспользуемые поля, если они не используются.

Таким образом, чтобы добиться этого, я установил свой шаблон тела класса на этот

/**
 * Generated Serial Version UID
 */
public static final long serialVersionUID=7707109240879740918L;

Где значение serialVersionUID - это произвольно выбранное случайное число, которое я жестко запрограммировал в шаблоне.

Поле является открытым, чтобы обойти "неиспользованную переменную проблему".

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

Да, я знаю, что это очень требовательно, но я ленивый перфекционист, который не хочет каждый раз вручную добавлять этот serialVersionUID и сам писать комментарий.

К сожалению, я не могу указать конкретные типы шаблонов классов, которые применяются только к сериализованным классам, и при этом я не могу указать шаблон, специфичный для поля serialVersionUID, следовательно, необходимо жестко закодировать его все и установить как non-private, чтобы избежать жалоб компилятора об отсутствии комментариев И редакторе, удаляющем неиспользуемое значение, когда я очищаю свой исходный код.

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

0 ответов

Другие вопросы по тегам