FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#41
|
||||
|
||||
Muchachos no se vayan al reduccionismo.
La propuesta del identificador idem/it o el que fuese no está pensando para eliminar los vicios de un programador y no es su intención usarlo en esos ejemplos tan simples. Su principal idea es emplearlo (y que como ha dicho Al, que por defecto no esté habilitado por una directiva de compilación) en aquellos casos y escenarios en donde el with adquiere complejidad y se interactúa con una serie de objetos y/o variables que pudieran dar una confusión o en los que el compilador no supiera asociar correctamente a quien se está referenciando. Saludos, |
#42
|
||||
|
||||
Cita:
Esto, desde luego, sin quitar el hecho de que a algunos nos parece útil el with y pensamos que la confusión, como tantas otras cosas, depende mucho de cómo se use. Hay quienes gustan de anidar innecesariamente bloques try-except y no por eso los vamos a quitar o modificar. Ahora, como dice Neftali, el with se usa para reducir la escritura. Cualquier otra palabra o símbolo, sólo generaría confusión y sería muy artificioso. Excepto, quizá, el punto, porque éste, a fin de cuentas, es lo mismo que escribiríamos si no usamos el with, esto es, usar el punto significaría simplemente que omitimos un poquito menos, pero no añadimos nada más. Además, el punto, como sucede en Visual Basic, da la oportunidad al IDE de autocompletar, que, dicho sea de paso, es realmente lo que extraño al usar el with. Además del punto, la variante del as como un alias, es la que me parece más práctica. Claro que podemos usar una variable en lugar del alias, pero la idea sería que con el alias nos evitamos declarar algo extra. LineComment Saludos |
#43
|
||||
|
||||
Cita:
¡Caramba!, creo que lo que dije antes, ha quedado mucho mejor explicado y reflejado por Neftali en este post. Así que me uno a este comentario y al otro que escribió después de ese.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
#44
|
||||
|
||||
+1 .
|
#45
|
||||
|
||||
De hecho, creo que el debate debió comenzar con una exposición de motivos, precisamente para dar mayor claridad: cuáles son exactamente las supuestas falencias y virtudes de la cláusula.
Por ejemplo, ¿quién no ha usado el típico
para mostrar un cuadro de diálogo? Claro que podemos usar una variable pero resulta muy cómodo ahorrárnosla si el formulario se desecha una vez cerrado. O bien, ¿han considerado que además de ahorrar escritura, el with puede ahorrar llamadas a métodos? Por ejemplo en:
si Domicilio es una propiedad de la clase TPersona a la que se accede mediante un getter, éste se llamará dos veces. El uso con with:
reduce a una sóla llamada. Igual que el caso anterior, se puede usar una variable para evitar el doble acceso, pero resulta mucho más cómodo así. LineComment Saludos |
#46
|
||||
|
||||
¡Menudos ejemplos, Germán! Por supuesto que no tendría sentido usar el nuevo With en casos así.
Pero hay otros donde sí, como el de la imagen del primer mensaje (que parece que salió borrosa). Consideremos la siguiente comparativa: Sin With:
Con el nuevo With:
No es que busquemos ahorrar palabras. No es así de simple. Sino que los recursos que permitan simplificar código fuente de una manera elegante siempre debieran ser bienvenidos, salvo que no sean seguros. Como el riesgo es la desventaja del With actual, se propone hacerlo seguro conservando su elegancia. Incluso se añade una ventaja más: la de poder hacer referencia al objeto mismo dentro del bloque With (algo que la actual sintaxis no posee). Saludos aclaratorios. Al González. P.D. Se agradece el anterior mensaje, de Román, que ahora veo y suscribo. Última edición por Al González fecha: 20-09-2016 a las 22:13:30. |
#47
|
||||
|
||||
Sigo sin verle mucho sentido. En lugar de escribir var it: TForm2 tengo que escribir with. No son muchos caracteres que se ahorran, y se debe agregar un nivel de sangría adicional. Combinado con un bloque de protección de recursos (try-finally) y un bloque de manejo de excepciones (try-except) se tendrían 3 niveles de sangría. A mi ya dos me parece mucho
|
#48
|
||||
|
||||
Cuando me inicié en pascal y use With simplemente no me gustó así que a la fecha no lo uso. Es como el Goto, sigue existiendo en Delphi pero no por eso se usa y es más, no vale la pena mejorarlo.
Exacto, aquí lo conveniente es llevar las propuestas a la casa del dueño, por que no hacerlo y gritar al vacío es lo mismo...
__________________
Conoce mi blog http://www.edgartec.com |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Analogías entre C++ y Object Pascal | noob | C++ Builder | 3 | 16-02-2009 18:19:54 |
como usar object pascal y gtk | Lionheart | OOP | 6 | 09-12-2005 19:31:08 |
manual de excepciones de object pascal para free pascal??? | Garion | OOP | 3 | 27-05-2005 00:42:29 |
¿Object Pascal para todo? | ReigDidion | OOP | 10 | 12-02-2004 08:28:07 |
|