> Mariano Simone, el  9 de junio a las 12:52 me escribiste:
>> 2009/6/9 Mario Daniel Carugno <[email protected]>
>>
>> > En algun momento use bastante este tipo de notacion para programar en C
>> > Pero no veo que se use mucho en lenguajes como Python o Perl.
>> > Acaso el tipado debil de los lenguajes modernos hace que estas
>> > convenciones queden en desuso ?
>>
>> La notación Húngara, a mi entender, perdió sentido desde el momento en que
>> existen editores de texto e IDEs que permiten hacer búsquedas rápidamente, o
>> que poseen intellisense.
>>
>> En su momento era úti, ya que C, por ejemplo, requería que declararas todas
>> las variables al principio de una función... por lo que era un matete de
>> declaraciones en un lugar, y nada de información sobre el tipo en el lugar
>> en que realmente se usaban. Entonces, la gente se apoyaba en esta notación
>> para tener información sobre el tipo en el nombre de la variable.
>
> Para mí la notación húngara no quedó obsoleta por los IDE si no por la
> modularización del código. Si tenés 50 variables globales que usás por
> todo el código tal vez se te complique acordarte que es cada una, pero si
> tenés funciones cortas de unas 20 líneas, que todo lo que usan son
> variables locales y parámetros, es muy fácil acordarte que es cada
> variable (y su tipo).
>
Si, pero la utilidad de los prefijos tambien es para los valores que devuelva
una funcion, que quizas no se encuentre en el modulo.

Si tengo una funcion que devuelve un entero, visualmente esto ayuda:

   iEdad = iObtenerEdad()

Los prefijos te permiten corroborar rapidamente que la asignacion es
segura. Pero es cierto, eso pasa mas en C.

Les agradezco mucho su ayuda. Es cierto que ahora los IDEs ayudan en
estas cuestiones (aunque suelo usar vim), y que la notacion hungara tiende
a dificultar la lectura del programa. Muy buenos sus consejos.

Saludos y gracias

_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a