PDA

Ver la Versión Completa : ¿Pones "preposiciones?¿Tabulas tu código?


DarkByte
25-01-2004, 22:02:57
¿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:


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/0,1410,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
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
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
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í...


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
¿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:
: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 (http://www.greatis.com), (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 (http://www.greatis.com/delphibonus.htm), 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.

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

Lepe
28-01-2004, 12:13:13
Hola compañeros de fatiga.

Como he votado, hago cambas cosas, aunque no sigo la notación húngara, mas bien la notación Leperiana ;) coincide con la húngara en muchas casos, pero cuando no me acuerdo de la notación húngara, uso la Leperiana.

En cuanto a comentar.... hago igual que todos, comento las funciones importantes, y además, cuando hay muchos if anidados si pongo algo asi como:


if Fallo then
begin
....
if ImposibleRecuperar then
begin
...
end
else // imposibleRecuperar
begin
....
end
else // Fallo
begin
...
end;

Supongo que ustedes tambien :)

Para comentar las Unidades o Procedimientos uso las GExpert (http://www.gexperts.org/download.html), (recomendado por el foro ;) )

Para aquellos que no lo usen, lo comento:
pulsando una secuencia de teclas, añade lineas comentadas (predefinibles) con lo que se desea
Ctrl +Alt +P ==> Procedimiento con parametros descripción y tal (que lo pone por defecto), encima de la definición del Procedimiento
Ctrl+ Alt +U ==> Comentar unidad (al principio, justo antes de Unit blah;

Lo que más uso es poner el raton encima de una palabra y dale a Ctrl + Alt + (Flecha arriba / abajo) y busca esa misma palabra por toda la unidad. Además del "Grep Search" que es más cómodo para mi que el que trae delphi.

Y.... el Ctrl + G ==> definicion de procedimientos en la unidad activa, para ir a cualquier procedure o function...

A parte de muchas cosas mas que tiene... Copia de seguridad del proyecto, Poner en letra capital la primera letra de variables y objetos ...etc. Producto cinco estrellas.

Eso junto con el "code insight" de delphi.... ayuda mucho. Como veis, aqui teneis a uno que le gusta mas el teclado que el roedor jejejeje.

Eaa, ya me quedé tranquilito ;)

Saludos a la peña

Descendents
28-01-2004, 12:36:44
Yo he votado por ambas cosas y hago ambas cosas.

Antes hace tiempo solo tabulaba, pero desde hace tiempo que pongo "preposiciones", lo uso y la verdad que me va muy bien.

Otra cosa.

Segun tengo entendido el compilador, cuando compila, no tiene en cuenta los espacios en blanco es decir, compila y al traducir elimina todo lo que sea nulo, como espacios en blanco o comentarios,etc...

Entonces o voy muy equivocado, o eso que dice el señor (jefe) ese es una locura.

Saludos

marto
28-01-2004, 12:50:26
Entonces o voy muy equivocado, o eso que dice el señor (jefe) ese es una locura.


No vas nada equivocado....


Mucho peor que un ignorante es un ignorante arrogante

:D :D :D

marcoszorrilla
28-01-2004, 14:27:57
Ese Jefe tenía razón pero hace muchos años, cuando los lenguajes eran interpretados, no compilados.

La prueba consistia en indentar, poner comenatarios etc. dentro de un bucle y al cronometrar los tiempos lógicamente tardaba mucho más que sin indentación y comentarios, puesto que el intérprete leia como es lógico para eso es un intérprete todo indentaciones, comentarios, etc..

Por esto algunos autores aconsejaban con buen criterio, indentar y comentar, pero a la hora de terminar el programa dividirlo en 2 uno el código fuente completo que se guardaba para hacer modificaciones y a la vez poder entender mejor el código y la que ejecutaba el intérprete a la que se le quitaban comentarios e indentaciones para ganar velocidad.


For i = 1 to 5000
Rem esto es un comentario
Rem esto es otro comentario
a=a +i
Next i


Esto tardaba menos en ejecutarse:


For i = 1 to 5000
a=a +i
Next i


En conclusión que el Jefe citado se había quedado en la edad media, quizás aún arroja aguas (mayores ó menores) por la ventana y grita AAAguaaa va!

Un Saludo.

eduarcol
28-01-2004, 17:56:53
hace muchos años, cuando los lenguajes eran interpretados


si mi memoria no me falla en clase de compiladores me dijero que ni vb6, vfp6 ni ninguno de sus familiares compilaba solo interpretaban, por lo qe el exe en una maquina sin ellos instalado no funcionaba, asi que tampoco son muchos los años, y tal vez el jefe tenia razon por que utilizaban una herramienta M$

roman
28-01-2004, 18:02:14
si mi memoria no me falla en clase de compiladores me dijero que ni vb6, vfp6 ni ninguno de sus familiares compilaba solo interpretaban, por lo qe el exe en una maquina sin ellos instalado no funcionaba, asi que tampoco son muchos los años, y tal vez el jefe tenia razon por que utilizaban una herramienta M$

Pero realmente no importa mucho ya que las herramientas de Microsoft son tan poderosas que unas cuantas líneas y espacios de más no afectan

roman
28-01-2004, 18:03:24
Pero realmente no importa mucho ya que las herramientas de Microsoft son tan poderosas que unas cuantas líneas y espacios de más no afectan

¡Ah caray! Disculpen, esto lo iba poner en el hilo de las 40 mentiras más famosas (http://www.clubdelphi.com/foros/showthread.php?t=6471)

:D :D

kinobi
28-01-2004, 18:06:54
Hola,

si mi memoria no me falla en clase de compiladores me dijero que ni vb6, vfp6 ni ninguno de sus familiares compilaba solo interpretaban, ...

Las primeras versiones de VB no compilaban (VB6 sí puede hacerlo), pero tampoco interpretaban directamente el código fuente. Antes lo convertían a un código-P intermedio (sin comentarios y ya optimizado). El código-P resultante sí era ejecutado por un intérprete, por tanto en esa fase (ejecución) los comentarios ya no "jugaban". Salvando las distancias, algo parecido a lo que se hace en Java (sin utilizar JIT) o C#.

Saludos.

marcoszorrilla
28-01-2004, 18:36:50
El código-P resultante sí era ejecutado por un intérprete, por tanto en esa fase (ejecución) los comentarios ya no "jugaban". Salvando las distancias, algo parecido a lo que se hace en Java (sin utilizar JIT) o C#. Exactamente los lenguajes interpretados a los que refería, eran por ejemplo GW-Basic, y los Xbase, tipo Dbase, que no producián en esa época ni P-code ni tenían "Run-Time", simplemente el código fuente y un intérprete que leia todas las líneas y las no ejecutables se las saltaba, pero despues de leerlas, por lo que, cualquier compilador sea código nativo o pcode, elimina dichas líneas de comentarios, indentaciones....

El Jefe no tenía razón.

Un Saludo.

marto
28-01-2004, 18:42:26
Quiero aclarar que los proyectos que llevaba este tal señor, eran VB6 y en java, o sea que no tenía ni pajolera.
Tambien cometia otras aberraciones, como obligar a que todas las variables se llamasen "ceroXXXXX" siendo X un número cualquiera. Lo hacía así porque en no sé que entorno host era como programaban y era "la mejor manera de hacerlo". En ese entorno, las variables empezaban )o podían empezar, no sé) por "0". COmo no VB ni Java permiten que un identificador empiece por un número, pues el troglodita les hacía poner el "cero". :rolleyes:

kinobi
28-01-2004, 18:45:58
Hola,

El Jefe no tenía razón.

Exacto. Mi comentario iba en la línea sobre lo dicho para VB6, no para los intérpretes "puros".

De todas formas, tal vez no haya que remontarse tan lejos (GW-Basic y anteriores) para encontrar hoy en día intérpretes "directos" de código de alto nivel. No estoy seguro, pero tal vez los intérpretes de PHP y ASP funcionen así, sin una pre-compilación previa.

Saludos

marcoszorrilla
28-01-2004, 18:49:12
Tambien cometia otras aberraciones, como obligar a que todas las variables se llamasen "ceroXXXXX" siendo X un número cualquiera.
Para mí Marto que eso es notación nihilista, quizás lo que pretendia era dinamitar en sentido figurado el grupo de programadores e incluso la propia programación.

Un Saludo.

Al González
17-02-2004, 06:28:03
¡Buen día a todos!

Durante los últimos diez años he ido mejorando mi estilo de codificación escrita.

Llevo una serie de normas que respeto siempre que programo en Delphi. Desde poner un espacio antes de abrir un primer paréntesis, una línea en blanco antes y después de un bloque If, For, etc., hasta escribir los acrónimos tal como provienen de origen ("ANSI" y no "Ansi", etc.). Al conjunto de normas que utilizo le llamo gramática del desarrollo de software y tiene alrededor de 50 reglas que me permiten hacer de mi código, no sólo algo estético y legible, sino también uniforme.

No utilizo los prefijos tipo "BTNABC_First", "BTNABC_Last" ni el símbolo de subrayado (guión bajo). Utilizo mayúsculas para la inicial de cada palabra y minúsculas para las demás letras (a menos que sea un acrónimo o nombre propio). Abrevio a cuatro letras por palabra los identificadores (sin abreviar nombres propios como "Windows", "InterBase", etc.). Uso la palabra completa si es una sola en el identificador. Cinco letras la primera palabra si se trata de una rutina. [ya no lo hago, ver nota al pie] Y desde luego, aplico también ciertas convenciones altamente establecidas y aceptadas como el prefijo "T" para los tipos de datos y clases de objetos, entre muchas otras cosas.

Algo que me facilita mucho llevar al pie de la letra estas normas, es el curso de mecanografía que llevé durante un año cuando tenía 16. Realmente aconsejo a todos los programadores que tomen uno de estos cursos, porque es una habilidad muy útil que se adquiere para toda la vida.

Un abrazo, seguimos en contacto.

Al González :).

Edito este mensaje después de casi cuatro años :p:

Me da algo de pena leer la forma en que me expresaba en febrero de 2004. :o

Ya no manejo las abreviaciones de n letras por palabra. Hace bastante tiempo me convencí de su poca utilidad. Además de que casi todos los editores de código facilitan ya la escritura de identificadores largos.

Isaac
20-02-2004, 19:31:24
yo hago ambas cosas. Los labels para mi son lblAlgo, los Tedit son txtAlgo, etc.

guillotmarc
20-02-2004, 20:04:13
Otro voto para la identación y uso de preposiciones. Aunque tengo que admitir que comentar código no es mi fuerte, vamos que paso dias enteros programando sin poner ni un solo comentario, solo los pongo para marcar cosas raras, bugs, etc. ... pero nunca en código normal, donde a pesar de mi pésima memoria, confío en que un código bien estructurado siempre es fácil de comprender (aunque ya sabemos que esto no siempre es así). :(

Por cierto, no os imaginais la de tiempo que perdí en otras épocas identando código (Clipper y Visual Basic). Si añadía un if, hala, 1 minuto añadiendo espacios para identar el código, total para darte cuenta que no hacia falta, y otro minuto para quitarlo. Ahora el Ctrl-U y Ctrl-I del IDE de Delphi han mejorado enormemente mi calidad de vida :) (y que ya no escribo esos procedimientos enormes, ahora lo divido siempre todo en funciones pequeñas, con un tamaño máximo en los casos extremos a lo que es visible en una sola pantalla).

Saludos.

Al González
21-02-2004, 04:10:12
¡Buen día a todos!


...el Ctrl-U y Ctrl-I del IDE de Delphi han mejorado enormemente mi calidad de vida :)
Me agrada leer que no soy el único que ha mejorado su calidad de vida con el Ctrl+K+U y el Ctrl+K+I de Delphi, y ni se diga el Ctrl+F (la combinación de teclas que más uso en el IDE, además del obligatorio Ctrl+S ;)).


...ya no escribo esos procedimientos enormes, ahora lo divido siempre todo en funciones pequeñas...
¡Que bien! Eso está excelente. Te invito a que le heches un vistazo a estos artículos:
http://www.codigoescrito.com/archivos/000054.html
http://www.clubdelphi.com/foros/showthread.php?t=6559
http://groups.msn.com/ce77cj5fut58ai6vahamsb3nb1/poc.msnw
http://www.codigoescrito.com/archivos/000006.html

La programación atómica permite aprovechar al máximo el código, ahorrando cientos de horas de trabajo a mediano y largo plazo.

Un abrazo, chao.

Al González :).

andres1569
21-02-2004, 19:56:37
... Si añadía un if, hala, 1 minuto añadiendo espacios para identar el código, total para darte cuenta que no hacia falta, y otro minuto para quitarlo. Ahora el Ctrl-U y Ctrl-I del IDE de Delphi han mejorado enormemente mi calidad de vidaLo mío es más grave, me da hasta vergüenza decirlo, pero pasé 4 años con Delphi hasta darme cuenta de que podía mover los bloques con Ctrl-U y Ctrl-I, el caso es que me pasaba como a Marc, que quitaba un if, movía todas las lineas, de una en una, para luego acabar volviéndolo a poner, o viceversa. Psicoanalizándome, creo que la razón profunda de hacer las cosas así durante tanto tiempo es que en el fondo me gustaba ese juego de dedos y teclas, era una especie de reto recorrer así 20 líneas a ver si no cometía ningún fallo :D.

roman
21-02-2004, 20:07:57
Pues yo sigo en la total ignorancia: si oprimo Ctrl-I se me borra el texto seleccionado. ¿No les falta una K o un Shift?

Afortunadamente yo conozco dichas combinaciones de teclas desde Turbo Pascal cuyo editor, creo recordar, estaba basado en el WordStar.

Pero si de a confesiones nos vamos aquí les pongo una realmente vergonzosa y que apenas ayer descubrí:

Mi mayor trauma era editar el código sql ya que aborrezco esa ventanita minúscula que no te permite usar el tabulador. ¿Cómo es posible que pasara tantos años haciendo caso omiso del botoncito "Code Editor..."?

Otras combinaciones que ignoré durante años:

Ctrl-Shift-número, Ctrl-número, Ctrl-Shift-C, Ctrl-Shift-flecha abajo, Ctrl-Shift-flecha arriba.

Sin embargo, y aunque me odien por esto :D , sigo esperando el día que pueda indentarse un bloque con un simple tabulador como en VB.

// Saludos

santana
21-02-2004, 20:58:50
:confused:

Pues por mi os podeis seguir avergonzando publicamente, porque es increíble la de cosas que estoy aprendiendo......

Y no me da ninguna vergüenza reconocerlo. No tenía ni idea !!!!

Thanks :D

roman
21-02-2004, 21:14:49
:confused:

Pues por mi os podeis seguir avergonzando publicamente, porque es increíble la de cosas que estoy aprendiendo......


Ciertamente, y si todos ponemos "nuestras vergüenzas" seguro aprenderemos muchos trucos del IDE. Y por si alguien aún no lo sabe pongo la explicación:


Ctrl-Shift-número
Poner un señalador en el código

Ctrl-número
Ir al señalador con ese número

Ctrl-Shift-C
Completar definiciones de clase: escriban la delcaración de métodos de un formulario (o cualquier clase), opriman Ctrl-Shift-C y el esqueleto de la implementación del método se añadirá al código.

Ctrl-Shift-flecha
Para moverse de la declaración de método a la implementación y viceversa.


// Saludos

marcoszorrilla
21-02-2004, 21:26:37
ALT+0 Muestra todas las ventanas abiertas en en el entorno de desarrollo
May+F12 Muestra la lista de formularios de un proyecto
Ctrl+F12 Muestra la lista de unidades de código de un proyecto

La vergüenza es que lo sé pero no lo uso.

Un Saludo.

Ctrl + botón izquierdo del ratón sobre el nombre de una Unit la abre, esto si lo uso.

roman
21-02-2004, 21:33:31
Ctrl + botón izquierdo del ratón sobre el nombre de una Unit la abre

Añadir que también podemos hacerlo sobre un identificador y nos lleva a la definición o bien, si estamos en modo "debug" y el idetificador es una variable, nos muestra una ventana con las propiedades y valores de la variable.

// Saludos

guillotmarc
21-02-2004, 22:46:35
No olvidemos tampoc el Ctrl-Espacio, que despliega la lista de variables y metodos que podemos usar en una linea (como cuando ponemos el punto al utilizar un objeto)

Saludos.

DarkByte
21-02-2004, 23:15:49
La vergüenza es que lo sé pero no lo uso. jejeje.

Hay que ver todo lo que ha dado de sí este hilo... he aprendido muuucho, y cosas muy útiles. Ashias!

__cadetill
22-02-2004, 00:39:22
Shift+Ctrl+I : indenta frase(s) selecionada(s)
Shift+Ctrl+U : desindenta frase(s) selecionada(s)
Shift+Ctrl+Espacio : muestra los parámetros a pasr a un método, procedure o función
Ctrl+F5 (debug): añade a Watch la variable seleccionada
Ctrl + Y : borra la linea en la que te encuentras
Ctrl+Alt+Boton Izq.Raton: seleccion por columnas

No, si trucos hay la tira :D

andres1569
23-02-2004, 11:35:01
... combinaciones interesantes de teclas ...Ahora sí que siento vergüenza, viendo la de cosas que nunca he usado, estando ahí, y eso que soy de los que se leen hasta el manual del teléfono móvil antes de empezar a usarlo.

Para Román: Los botones son para pulsarlos, je, je, je ...

En cuanto a las combinaciones de teclas para mover bloques, tanto Marc como yo nos olvidamos de la letra K:

Ctrl-K-I (mueve bloque seleccionado a la derecha)
Ctrl-K-U (mueve bloque seleccionado a la izquierda)

Saludos

__cadetill
23-02-2004, 13:15:10
Por cierto!!!! nos dejamos la más importante de todas!!!!!

F1 -> AYUDA :D :D :D

santana
23-02-2004, 13:34:15
¿Y el CTRL+C y el CTRL+V.....para qué sirven? :D:D:D:D:D:D:D:D

Está siendo muy didáctico este hilo. A ver si surgen más ideas...

__cadetill
23-02-2004, 13:39:39
¿Y el CTRL+C y el CTRL+V.....para qué sirven? :D:D:D:D:D:D:D:D
Bueno, siguiendo éstas, quizás una que más de uno no conocerá

Ctrl + Z : deshacer (ésta la conoce to el mundo)
Shift + Ctrl + Z : ReHacer (ésta es la que alguno seguro no conoce)

Lepe
23-02-2004, 13:39:45
Creo que habría que comentar que las combinaciones de teclas depende de la opcion elegida en Tools --> editor Options--> keymapping

Y tambien que existe diferentes combinaciones de teclas que hacen lo mismo, por aquello del Ctrl+K+I y el Ctrl+Shift+I

Yo de vez en cuando me paso por ahí y cotilleo alguna combinación nueva de teclas, es saludable no aprenderlas todas de golpe, jejeje


Saludos

Nuria
23-02-2004, 15:52:32
Funciones con Ctrl. + J.

arrayd + Ctrl. J .
array[0..|] of ;

arrayc + Ctrl J.
array[0..|] of = ();

cases + Ctrl J

case | of
: ;
: ;
end;


casee + Ctrl J

case | of
: ;
: ;
else ;
end;


classf + Ctrl J

T| = class(T)
private
protected
public
published
end;


classd + Ctrl J

T| = class(T)
end;


classc + Ctrl J

T| = class(T)
private
protected
public
constructor Create; override;
destructor Destroy; override;
published
end;


fors + Ctrl J
for | := to do

forb + Ctrl J

for | := to do
begin
end;


function + Ctrl J

function | (): ;
begin
end;


ifs + Ctrl J
if | then

ifb + Ctrl J

if | then
begin
end;


ife + Ctrl J

if | then
else


ifeb + Ctrl J

if | then
begin
end
else
begin
end;


procedure + Ctrl J

procedure | ();
begin
end;


trye + Ctrl J

Try
|
except


tryf + Ctrl J

try
|
finally


trycf + Ctrl J

| variable := typename.Create;
try

finally
variable.Free;
end;


whileb + Ctrl J

while | do
begin
end;


whiles + Ctrl J
while | do

withb + Ctrl J

with | do
begin
end;


withs + Ctrl J
with | do


También puedes personalizar los códigos que aparecen con Ctrl+J, en el menú de Tools, Editor Options, Code Insight.

Reconozco que casi nunca me acuerdo de utilizarlas, termino antes, con el método de toda la vida. :rolleyes:

Saludos!

Nuria
23-02-2004, 16:01:08
- Shift+Ctrl+G: Para los que utilizan COM, esta tecla rápida genera un GUID.
- Ctrl+G: Guarda el unit que se está viendo.
- Ctrl+E: Presionas Ctrl+E y empiezas a escribir la palabra que quieres buscar y Delphi la va buscando.
- Alt+F12: Para cambiar vistas entre el código y el form.
- Ctrl+Alt+F11: Muestra el project manager.
- F9: Compila y corre el programa.
- Ctrl+F9: Sólo compila.

Opciones del editor y del entorno

Estas opciones son las que son más cómodas para mí. De todas formas, sería bueno que investigaras un poco en Tools -> Editor Options.

- Tools -> Editor Options -> Display... Cambiar el tamaño de la fuente de 10 a 9.
- Tools -> Editor Options -> Color... Cambiar el color de los "string" a rojo oscuro. Cambiar el color de los "integer" a azul.
- Tools -> Editor Options -> Code Insight... Cambiar el Delay a 0.5 sec.
- Tools -> Environment Options -> Preferences... Seleccionar "Project Desktop" en Autosave Options. De esta forma Delphi recordará el tamaño de todas las ventanas.

roman
23-02-2004, 16:39:00
- Ctrl+G: Guarda el unit que se está viendo.


Ctrl+S

// Saludos

andres1569
23-02-2004, 16:44:24
- F9: Compila y corre el programa.
[mode = ironic]
Gracias Nuria, si lo llego a saber antes me hubiera ahorrado miles de horas yendo al menú y escogiendo la opción Run con el Mouse :D
[/mode ironic]

kinobi
23-02-2004, 16:45:20
Hola,

ya puestos, y fuera del editor, uno de los famosos "huevos de Pascua" del equipo de desarrollo de Borland ...

Menú Principal -> Help -> About ...

Una vez que sale el diálogo "About ..." teclear team con la tecla Alternativa presionada.

Saludos

Nuria
23-02-2004, 16:54:28
Originalmente publidado por andres1569
Gracias Nuria, si lo llego a saber antes me hubiera ahorrado miles de horas yendo al menú y escogiendo la opción Run con el Mouse


Nunca te acostarás sin saber una cosa más... :D :D :D :D


Originalmente publicado por roman
Ctrl+S


:( Un lapsus. :rolleyes:

Originalmente publicado por Kinobi
Menú Principal -> Help -> About ...
Una vez que sale el diálogo "About ..." teclear team con la tecla Alternativa presionada.


Es curioso y original....

Saludos!

marto
23-02-2004, 17:14:15
El huevo es que se te duplique el About???? un poco cutre, no?

roman
23-02-2004, 17:32:19
El huevo es que se te duplique el About???? un poco cutre, no?

Inténtalo de nuevo. Debe aparecerte la lista de desarrolladores de Delphi al estilo de Guerra de las Galaxias. Prueba también con Alt-DEVELOPERS

// Saludos

marto
23-02-2004, 18:10:15
Pos me sigue pasando lo mismo :( .... es un D6 Professional... ¿en qué versión lo provais vosotros? ¿Puede ser por que no esta registrado?:(

roman
23-02-2004, 18:17:18
Hasta donde recuerdo también funciona en D6. No dejes de presionar ALT mientras escribes TEAM.

// Saludos

marto
23-02-2004, 18:27:51
Acabo de probarlo con un D3 y funciona, pero en D6 tansolo se te duplica la pantalla de about, insisto ¡qué cutre!

Lepe
24-02-2004, 12:45:33
Probado en D6 Enterprise y funciona, aparece una nueva ventana About Delphi, con fondo negro y el equipo de desarrollo. (Delphi Staff:)

__cadetill
24-02-2004, 12:58:44
Probado y funcionando en D3, D5, D6 y D7 (todos versión Enterprise) aunque hay que decir que en D3 cambia un poquito a las demás versiones de Delphi :D

andres1569
24-02-2004, 13:19:26
Hola:

Alt + DEVELOPERS => muestra el grupo de desarrollo

DarkByte
30-03-2004, 21:14:59
¿Habéis intentado darle la vuelta entera al texto usando las teclas de dirección del teclado?. Veréis el texto que hay a la espalda

Al González
01-04-2004, 06:40:08
¡Hola a todos!

Actualizando un poquito el tema.

Para edición:

Ctrl+Enter para abrir el archivo donde está el cursor.
Ctrl+F para buscar la palabra donde está el cursor (depende de la configuración).
Ctrl+R para reemplazar la palabra donde está el cursor (depende de la configuración).
Alt+Retroceso La opción que utilizo para deshacer
Ctrl+Flecha Izquierda/Derecha Ir al inicio de la palabra anterior/siguiente

Al estar depurando un programa:

Ctrl+Alt+W Muestra la ventana de observaciones (Watches)
Ctrl+Alt+B Muestra la ventana de puntos de ruptura (Break Points)
Ctrl+Alt+S Muestra la ventana de pila de llamadas (Call Stack)
Ctrl+Alt+C Muestra la ventana de CPU (código ensamblador)

En ocasiones, cuando estoy escribiendo código y quiero copiar al portapapeles la palabra sobre la que se encuentra el cursor, utilizo la combinación Ctrl+F+C y Esc. Se que no es muy ortodoxa, pero me resulta práctica cuando estoy de lleno en la escritura de un grupo de sentencias.

Un abrazo.

Al González :).

marto
01-04-2004, 10:03:59
En ocaciones, cuando estoy escribiendo código y quiero copiar al portapapeles la palabra sobre la que se encuentra el cursor, utilizo la combinación Ctrl+F+C y Esc

Bueniiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiisimo!!!!! :D :D :D :D

roman
01-04-2004, 10:28:44
Y no olvidemos

Ctrl-Flecha abajo
Ctrl-Flecha arriba

para desplazar línea a línea la pantalla sin perder la posición del cursor.

eduarcol
01-04-2004, 21:14:20
Parece que nos olvidamos delos invalorables Ctrl + O + C para copiar en bloque, y del Ctrl + Shift + R y Ctrl + Shift + P para grabar y reproducir macros del teclado :D vamos que delphi nno se conforma con un simple copiar y pegar nos la pone mas facil aun

roman
01-04-2004, 21:21:53
Parece que nos olvidamos delos invalorables Ctrl + O + C para copiar en bloque, y del Ctrl + Shift + R y Ctrl + Shift + P para grabar y reproducir macros del teclado

¡Válgame dios! Y yo ni siquiera sabía que se podían grabar macros

:o :o

Más vergonzoso aún: no me queda claro el funcionamiento de Ctrl-O-C :confused:

eduarcol
01-04-2004, 21:29:30
El editor de delphi es mas poderoso que lo que nosotros imaginamos:

El Macro funciona asi:
Presiona : Ctrl + Shift + R <realizar las acciones a grabar> Ctrl + Shift + R
Ctrl + Shift + P para reproducir lo grabado :p

El Ctrl + O + C funciona de la siguiente manera: presiona la combinacion de teclas luego selecciona un bloque de codigos multi lineas, veras lo que pasa :D :D :D