me ocurren dos razones:
Podría ser de vital importancia que el campo no es de serie.Por lo tanto, si en el futuro la clase se hace serializable, esto no introducirá un error, ineficiencia o problema de seguridad, ya que sin ella, la clase serializable también lo hará para el campo.
que podrían estar haciendo algún tipo de uso a medida del atributo
En el caso 2 que va a ser claro a partir del código que esto es lo que está pasando en otros lugares. Sin embargo, el número 1 es una buena práctica.
Caso 1 es una buena práctica, puede valer la pena equilibrar YAGNI ("No vas a necesitarlo" - no hacer el trabajo "en caso de que sea necesario más tarde") con la consideración "bien, pero si lo necesito más tarde" , va a ser un desastre si alguien falta que este campo es una excepción.
Así que, aunque no tiene ningún efecto aquí, es definitivamente una buena práctica para los escenarios en los que comienza a tener un efecto.
Editar: Otra posibilidad es que se trata de una versión anterior donde era de hecho serializable o el autor estaba en dos mentes en ese momento y nunca fue completamente "terminado" (¿el código de trabajo está completamente terminado?) Solo porque algo es en el código, doesn No significa que se suponía que fuera de esa manera. Aún así, si es realmente importante que algo no se serialice, sigo diciendo que es una buena práctica marcar esto por la razón dada anteriormente.
Esta es una pregunta muy interesante, que solo tuve una vaga idea de la respuesta hasta que la investigué. –