Sin saber qué demonios contiene una variable en cierto punto.
Entonces, vaya a buscar dónde se definió inicialmente (si puede encontrar ese punto, ya que la asignación inicial y las asignaciones posteriores a menudo se ven idénticas en lenguajes dinámicos), y ve algo como esto (pseudocódigo):
employee_info = get_employee_traitlist (nombre)
- ¿Cómo se distribuye el pagerank?
- ¿El algoritmo de Dios realmente funciona en el Cubo de Rubik 3x3x3?
- Cómo aprender estructuras de datos y algoritmos
- ¿Por qué no hay implementación de montón de Fibonacci en la API Java estándar?
- Se me pide que lea datos de un archivo .txt en una matriz y que haga cosas con esa información (encontrar promedio, encontrar número de elementos, encontrar valores máximos / mínimos). ¿Cómo se puede hacer esto en Java?
En este punto, no es inmediatamente obvio qué tipo de objeto está almacenado en employee_info. ¿Es una matriz? ¿Un diccionario? ¿Algún tipo de objeto personalizado de una clase de rasgo de cliente?
Después de mirar la documentación de esta función que llamó (o simplemente mirar el código fuente en sí mismo si tiene acceso a ella), descubrirá qué tipo de objeto está en employee_info y qué acciones puede realizar en él.
Pero a menos que pueda garantizar que el tipo de datos almacenados en esta variable se mantuvo estrictamente igual durante toda su vida útil, aún no puede estar seguro de lo que hay en esta variable más adelante cuando la usa. Podría haber otra línea de código entre realizar una acción como esta:
employee_info = employee_info.hr_relevant_information ()
Así que ahora puede haber destruido su comprensión anterior de lo que representa employee_info, debido a la flexibilidad del sistema de escritura en su lenguaje de escritura dinámica.
Por lo general, esto solo entra en juego cuando se escribe un software muy grande con lenguajes escritos dinámicamente, que a menudo no se recomienda por razones como estas.