Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Debates (https://www.clubdelphi.com/foros/forumdisplay.php?f=29)
-   -   ¿Pones "preposiciones?¿Tabulas tu código? (https://www.clubdelphi.com/foros/showthread.php?t=6853)

DarkByte 25-01-2004 22:02:57

¿Pones "preposiciones?¿Tabulas tu código?
 
¿Sueles poner "preposiciones" a los nombres de los objetos? Ej: Un edit que va a contener una dirección ip, llamarlo eIp, o a un memo donde vamos a escribir un mensaje, llamarlo mmMensaje.

Yo por mi parte me es más fácil hacelo, pues después para acordarme del nombre solo tengo que pensar en qué objeto es y que funcion realiza.

Otra cosa: ¿Sueles hacer tabulaciones en el código?, por ejemplo:

Código:

If not IdTCPClient1.Connected = True Then
  Exit
Else
    Msg := IdTCPClient1.ReadLn('',5);
    mmMensaje.Lines.Add(Msg);

Esto hace más comprensible la lectura del código, pero la verdad es que yo no estoy acostumbrado. ¿Y vosotros?

marcoszorrilla 25-01-2004 22:20:50

Yo utilizo ambas cosas, según he votado en la encuesta.

La indentación y la notación húngara y los comentarios, son imprescindibles para una relectura rápida de cualquier código.

Un Saludo.

__cadetill 25-01-2004 22:50:58

Pues yo, como he votado, sólo tabulo. Nunca me ha gustado la notación húngara.

Lo que sí que es muy importante para una relectura del código (y que por desgracia no se suele hacer amenudo por falta de tiempo) es comentar el código que se escribe.

kinobi 25-01-2004 23:00:26

Yo he votado por tabulación y no usar preposiciones, pero me he equivocado. Tú te refieres a "preposiciones" (no me fijé en que lo habías entrecomillado) anteponiéndose al identificador y yo lo entendí como preposiciones, preposiciones (a, ante, cabe, con ...) Así que quita un voto de la segunda opción y súmalo a la tercera.

Por cierto, hace unas semanas se trató un tema similar (te lo comento DarkByte por si se te ha pasado): http://www.clubdelphi.com/foros/showthread.php?t=6177, donde delphi.com.ar daba la dirección de un documento de Borland sobre consejos para la codificación en Object Pascal: http://community.borland.com/article...,10280,00.html

Saludos.

santana 26-01-2004 02:34:47

Yo utilizo ambas cosas. Como DarkByte, las 'preposiciones' para encontrar rapidamente una referencia al objeto que busco en un momento en que no recuerdo su nombre, la tabulación porque si no no me aclaro a simple vista. Eso sí que me resulta imprescindible, sobre todo si el código no es mío. Es una de las mejores costumbres que se deben adquirir. Lo otro ya es cuestión de las preferencias o costumbres de cada uno.
Los comentarios....es lo que siempre sueles dejar para después y luego se te pasa por falta de tiempo, asi que la intención es buena, pero lo hago menos a menudo de lo que debiera.
Saludos.

PepeLolo 26-01-2004 09:04:00

Yo he votado ambas cosas y he de decir, que por motivos de obligado cumplimento, los comentarios los realizo antes de escribr código y para más inrí, lo debo de escribir para cada uno de los procedimientos eventos funciones que se escriban. Tengo un Code Insight con el formato que se debe rellenar de documentación. Sí os soy sincero y despues de cuatro años teniendo que realizar esta ardua tarea, tengo que reconocer que apenas se pierde tiempo siempre y cuando lo primero que se haga sea documentar.
Otro canto os cantaria cuando se debe hacer despues de escribir un programa. :D

Os paso un pequeñito ejemplo para que os hagais una ligera idea de como es la documentación ha realiar.
{
*Documentación*
*Nombre: USelVar
*Tipo: Unit
*Título: Consultas con distintos niveles y órdenes de agrupación de criterios
*Autor: AJAA INFOSERVICIOS U.S.Y.P. (Unidad de Soluciones y Proyectos)
*Descripción:
El objetivo de este módulo es facilitar al usuario un SISTEMA sencillo e
intuitivo para la REALIZACIÓN DE CONSULTAS DE ÍNDOLE ESTADÍSTICA que permita
el cruce entre diversas variables. Es posible totalizar los resultados según
diferentes criterios y órdenes relativos de agrupación, con la posibilidad de
cambiar la estructura de la consulta en tiempo de ejecución.
Dentro de cada criterio de consulta, el usuario puede definir diferentes
AGRUPACIONES o TRAMOS de valores individuales - según la naturaleza del
criterio - con respecto a los cuales se totalizarán los resultados de la
consulta. Se proporciona toda la funcionalidad necesaria para la creación y
edición de tales agrupaciones. El usuario dispone también de la posibilidad
de prescindir de tales agrupaciones personalizadas y seleccionar los elementos
particulares que figuran en los catálogos montenidos por la aplicación para
cada uno de los criterios. La enorme flexibilidad proporcionada para el diseño
de las consultas permite posibilidades de análisis de la información de gran
utilidad.
El conjunto de criterios, grupos y valores se muestra en forma de estructura
jerárquica arborescente en la parte izquierda de la pantalla. A la derecha
se presentan dos ListView's donde se visualiza el conjunto de grupos seleccio-
nados para realizar la consulta. La selección se realiza mediante drag&drop.
Cada uno de ellos se utiliza para un eje diferente (abscisas y ordenadas). El
número máximo de grupos que puede seleccionarse para el eje horizontal está
limitado por razones de espacio.
Se proporciona, finalmente, todo un conjunto de filtros ajustables por el
usuario para limitar el ámbito de la consulta.

*Modificaciones*

*Fecha:
*Autor:
*Descripción:
}

Investment 26-01-2004 09:49:21

Tal y como he votado, Tabulo el código, pero no pongo "preposiciones" aunque si que suelo comentar lo que hace cada unidad,procedimiento o funcion. Un buen vicio que cogi cuando trabajaba con Pepelolo ;-)

Voutarks 26-01-2004 14:34:12

Personalmente opino que no puede haber ningun programador profesional que no indente el código, esa es la regla número 1. Un código sin indentar es un infierno para leer y como vea algo asi me van a venir necesidades básicas pensando en algun familiar cercano del autor.

Otra cosa es lo de las "preposiciones", es una buena idea, aunque cada uno puede tener su método válido para los componentes. Lo que tampoco es serio es dejar el código tal cual aparece, lleno de cosas como 'Button7', 'Form2', ¿que rayos es eso?

Yo hago ambas cosas, aunque como nos pasa a muchos, apenas inserto comentarios en el código y eso también es un problema. Al igual que santana, lo dejo para después y ... después estaré haciendo otra cosa

roman 26-01-2004 17:17:31

He respondido ambas pero tomando un sentido muy flexible de "preposiciones", esto es, indento el código y doy nombres significativos a las variables, tipos de datos y funciones. La mayoría de veces es con un dialecto húngaro pero con excepciones: por ejemplo, nunca uso frmPrincipal para un formulario sino que uso MainForm o FormaPrincipal o algo así.

Ambas cosas son imprescindibles como puede observarse cuando en los foros se presenta código sin indentar.

En cuanto a los comentarios también se me hacen fundamentales y normalmente trato de ponerlos en un momento u otro. Y en muchas ocasiones comienzo con los comentarios ya que así describo el proceso que debe seguirse y ya mees más fácil después desarrollar el código.

// Saludos

hecjona 26-01-2004 17:55:31

Ambas
 
Yo uso ambos y realmente funciona cuando compartes codigo con otros programadores, he revisado codigos de terceros que usan ambas y me resulta mas facil seguir el codigo, de igual manera cuando otro programador ve mi codigo he experimentado que le es mas facil seguir mi codigo apesar de que aveces por tiempo no tenga los suficientes comentarios.

DarkByte 27-01-2004 07:52:13

Tengo que acostumbrarme a comentar mi código... sinceramente, me entra flojera porque yo siempre recuerdo para qué servía cada cosa (incluso mi código de hace un par de años, aunque esos eran ShowMessage "Eres un primo" y similares).

Respecto a lo de no cambiar el nombre a algunos componentes , como comentaba Voutarks: Yo sí dejo algunos componentes sin preposición. No le veo sentido ponerle preposición a un TBevel si, este, no va a tener ninguna función especial, sería una pérdida de tiempo a mi entender.

andres1569 27-01-2004 11:20:52

Yo hago las tres cosas; lo de identar, como apunta Voutarks, debería ser "obligatorio", y aprovecho para recomendar su uso cuando se mete código en estos foros, utilizando el tag code, para facilitar la lectura a los demás.

En cuanto a lo de usar prefijos, me parece algo muy beneficioso, ahora no tengo el Delphi aquí pero hace un tiempo instalé una herramienta que permite asignar estos prefijos a la propiedad Name (coloca en el Object Inspector, en dicha propiedad, un botoncito que lleva a un editor donde se puede personalizar el prefijo para cada tipo de componente).

Lo de los comentarios es muy recomendable aunque nunca he escrito novelas como PepeLolo :D :D :D, supongo que el ejemplo que pones no será el más común ..., buen lo acabo de releer y veo que va referido a la unit, por un momento pensé que acompañaba a una función.

Un saludo

Nuria 27-01-2004 11:52:52

Hola Compis!

Para mí es fundamental que el código esté identado, se ve mucho más claro.

En cuanto a los prefijos, también los usos, pero yo al igual que DarkByte con los componentes que no suelo usarlos para nada a nivel de código, no les cambio el nombre.

Suelo poner comentarios, por que la verdad, es que cuando haces una aplicación más o menos te acuerdas de lo que haces y porque, pero cuando pasa un tiempo sin tocarla y tienes que modificar alguna cosa, pues cuesta un poco acordarte de todo ( sobre todo yo, que tengo 'mu' mala memoria :mad: ), así que procuro documentar bien las aplicaciones, aunque tardes más a la larga te facilita el trabajo.

Saludos!

Gydba 27-01-2004 14:35:01

Voy a decir lo que dice la mayoría: hago las dos cosas :)

Me parece muy legible y además intuitivo para alguien que, por ejemplo, este externo al desarrollo de la aplicación.

Solo comento los puntos fuertes que puedan no quedar en claro lo que hacen. Lo que si comento con lujo de detalles son los procedimientos o funciones de gran importancia para la aplicación (lo hago con un ancabezado con la fecha, el programador, parámetros, etc.)

Las dos cosas adicionales que tengo que mencionar es que los nombres de variables, componentes y demás a los que se haga referencia desde el código los escribo en lenguaje universal (Inglés) por comodidad e internacionalización.

El otro punto fuerte es que utilizo constantes en la mayoría del código, lo hace muy legible y además son mas rápidas las modificaciones.

Eso es todo, saludos :)

DarkByte 28-01-2004 07:53:41

Cita:

Empezado por andres1569
hace un tiempo instalé una herramienta que permite asignar estos prefijos a la propiedad Name (coloca en el Object Inspector, en dicha propiedad, un botoncito que lleva a un editor donde se puede personalizar el prefijo para cada tipo de componente).

:eek: Vaya pedazo de utilidad, ¿Es gratuita?¿Dónde se encuentra?

__cadetill 28-01-2004 10:23:03

Esto es super divertido, la mayoría de gente, por lo que leo, hace las dos cosas, es decir, indenta el código y hace uso de la notación húngara, pero.... lo más curioso del caso es que, cuando alguien me pasa un trozo de código, a lo sumo está indentado, nunca con dicha nomenclatura.

A partir de hoy sólo aceptaré código vuestro :D :D

roman 28-01-2004 10:38:41

Cita:

Empezado por cadetill
A partir de hoy sólo aceptaré código vuestro :D :D

¿Estás seguro?

Porque a ti podrán pasarte el código indentado pero lo que es aquí...

Cita:

Antes pasara un camello por el ojo de una aguja que un codigo indentado al reino de los foros
:D :D :D

__cadetill 28-01-2004 10:41:43

Cita:

Empezado por roman
¿Estás seguro?

Porque a ti podrán pasarte el código indentado pero lo que es aquí...

No no, yo me refería a los que habeis respondido a este hilo :o :D

Lo de la cita..... buenísimo ;)

marto 28-01-2004 11:23:03

Solo comentar una anécdota que es más leyenda que otra cosa. Me comentaron que cierto jefe de proyectos de la consultoría informática más grande de España obligaba a sus programadores a no indentar el código porque "es mucho más eficiente en tiempo de ejecución" :confused:

andres1569 28-01-2004 11:33:17

Hola:
Cita:

Empezado por DarkByte
:eek: Vaya pedazo de utilidad, ¿Es gratuita?¿Dónde se encuentra?

La herramienta en cuestión se llama NameProp. En su día, hace unos años, la descargué gratis, no recuerdo de qué página. Mirando los créditos veo que pertenece a la empresa Greatis Software, (Greatis, no Gratis :(). Acabo de inspeccionar su web y veo que esta utilidad viene incluída dentro de un conjunto de componentes, que ellos llaman Delphi Bonus, pero que, por desgracia, no son Free, sino que vienen "de regalo" si compras alguno de sus otros productos.

Esto es lo que hay al respecto.

Cita:

Empezado por Marto
Me comentaron que cierto jefe de proyectos de la consultoría informática más grande de España obligaba a sus programadores a no indentar el código porque "es mucho más eficiente en tiempo de ejecución"

Pregunto: ¿a quién "ejecutaron" primero, al jefe de proyectos o a los programadores a su cargo? :D


La franja horaria es GMT +2. Ahora son las 04:26:29.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi