Ver Mensaje Individual
  #13  
Antiguo 20-11-2016
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por AgustinOrtu Ver Mensaje
Me alegra que uses identificadores calificados. A mi tambien me gusta hacerlo y creo que crear bibliotecas publicas es una buena forma de impulsar al resto a que haga lo mismo
Sigamos impulsándolo.

Cita:
Empezado por AgustinOrtu Ver Mensaje
prefiero seguir la convencion que esta adoptando poco a poco Firemonkey, en la cual, el prefijo para los elementos del tipo enumerado ya no se usa [...] creo que el prefijo que historicamente se uso en Delphi no es necesario si se usan identificadores calificados y "ensucia" el codigo fuente.
También iba a adoptarla pero luego recordé que, con los record helpers, casi cualquier tipo de datos (incluyendo los enumerados) puede tener propiedades, métodos, otras constantes, etcétera. Quitar por completo el prefijo de las constantes enumeradas supone un problema a la hora de que nosotros leemos una expresión como "TFoo.Bar". ¿Es Bar una de las constantes enumeradas que definen el tipo o es otra cosa? En cambio "TFoo.eBar" no sólo permite inferir qué tipo de elemento es eBar (una constante enumerada), sino que por relación lógica permite determinar también qué es TFoo (un tipo enumerado). Dentro de otras estructuras, como las clases, hay variedad de elementos que no es costumbre ni muy útil distinguir mediante un prefijo. Yo empleo el prefijo sólo en casos especiales. Y uno de ellos es el de las constantes que aparecen en la declaración de un tipo enumerado, porque nunca sabes cuándo tú o alguien más le añadirá propiedades o métodos mediante un ayudante.

Cita:
Empezado por AgustinOrtu Ver Mensaje
en tus unidades siempre activas la directiva de compilacion SCOPEDENUMS [...] creo que lo mas seguro es compilar nuestros tipos enumerados con la directiva y luego volver a ponerla a OFF que es su valor por defecto.
Eso es lo normal con otras directivas de compilación locales. Sin embargo, pongo {$ScopedEnums On} desde el inicio de cada unidad para asegurarme de que todos los tipos enumerados que ella declare serán utilizados desde el exterior de forma calificada, sin excepción. Cuando el autor está convencido de la buena práctica que antes mencionamos, no hay riesgo alguno en poner esa directiva en On para toda la unidad.

Cita:
Empezado por AgustinOrtu Ver Mensaje
Otra recomendacion es el uso de regiones [...] Las regiones te permiten [plegar?] porciones del codigo
Tomo tu recomendación. Conozco lo útil que es la directiva $Region, y ya uso algunas, como la {$Region 'Error messages (ermXXX)'} presente en varias unidades. Aunque admito que sería bueno "regionizar" más bloques. Voy a trabajar en ello.

Cita:
Empezado por AgustinOrtu Ver Mensaje
creo que es una buena idea usar una region para la licencia
Cierto, lo haré también.

Cita:
Empezado por AgustinOrtu Ver Mensaje
[...] uso de la documentacion XML. Esta es una de las ultimas practicas que he adoptado, y ya me he acostumbrado. Consiste en documentar el codigo de forma tal que pueda ser util al momento de que el usuario use tu biblioteca, y no tenga que tener un manual de referencia para consultar. Esta documentacion XML se adjunta en la ventana que aparece cuando Delphi nos muestra cuales y que tipo de parametros recibe un metodo, el retorno de una funcion, etc [...] me ha pasado que es dificil explicar que es lo que deberia hacer el metodo en cuestion, y es cuando detecto un error de diseño que debe ser refactorizado incluso antes de escribir codigo; tambien existe el caso de que no se me ocurre como escribir el codigo, pero al escribir la documentacion luego se hace mas facil la implementacion
Esto tampoco me es indiferente. La pregunta es ¿cómo hacer una documentación "in-line" sin "ensuciar" el código? Hasta ahora no me convencen las convenciones y herramientas que he visto (si bien no he visto mucho, aclaro). Este punto hay que seguir estudiándolo.

Última edición por Al González fecha: 20-11-2016 a las 21:28:37.
Responder Con Cita