¿Deberían los programas seguir enlaces simbólicos?

¿Deberían los programas seguir enlaces simbólicos?

Un programa que recorre recursivamente un árbol de directorios necesita descubrir qué hacer con los enlaces simbólicos (y/o puntos de unión en Windows), para evitar entrar en un bucle infinito cuando un enlace simbólico apunta a un directorio principal. Las dos opciones obvias son:

  1. Omita los enlaces simbólicos por completo.

  2. Continúe y sígalos, pero realice un seguimiento de todos los directorios visitados y omita cada vez que esté a punto de llegar a un bucle infinito.

¿Cuál es la opción más común/esperada/preferida?

Respuesta1

Si solo estás navegando, síguenos.

Pero especificaste que no quieres bucles infinitos...

para evitar entrar en un bucle infinito cuando un enlace simbólico apunta a un directorio principal

Si está buscando recursivamente en modo Breadth-First, siga. En profundidad primero, omita.

Si está contando el tamaño de los archivos, omita.

Hacer un seguimiento es a menudo una optimización, en lugar de una implementación. Por supuesto, será mejor que lo tengas.

información relacionada