FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Cita:
Yo voy más de acuerdo con la comparativa con el goto. No hay necesidad. Lo que es necesario es hacer que la gente programe bien, que tenga buenas técnicas y en tal caso, el with, al igual que el goto, serán evitados en su mayoría de veces. Incluso el goto es usado, aunque muchos lo nieguen o lo desconozcan, cada vez que usan un break o un continue. Más me gustaría, por ejemplo, ampiar el uso del case a strings, cosa que, a diferencia del with, no rompería ningún código. LineComment Saludos |
#2
|
||||
|
||||
Cita:
En cuanto al tema principal del hilo de marras, encuentro atractiva la propuesta que expone Al, sin embargo pienso que si voy a usar un "Alias" para referirme a las referencias dentro del with (Ya sea punto, ampersand, with...) pues para eso sigo sin usarlo... ya que el punto le puede quitar claridad al código y el "with" pues... para usar la palabra with con todo y reglas, mejor uso el nombre del objeto ya instanciado. Aunque puede ser que mi opinión esté un poco marcada por el hecho de haber decidido hace tiempo, no seguir usando dicha sentencia y no me ha hecho falta... es más, creo que eso me ha evitado muchos problemas y tener que reescribir cosas.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
#3
|
||||
|
||||
No estoy de acuerdo con dejarlo pero advertir que no es buena práctica. Imaginar a Marco Cantu diciendo: "miren, tenemos una sintaxis que es el with, recomendamos no usarlo, pero hay código viejo dando vueltas por ahí, así que no lo sacamos por eso" me parece absurdo. En el peor de los casos estaría bien la posibilidad de "activar" el with usando alguna directiva de compilación. Pero sigo pensando que es dedicarle tiempo a una tontería, porque el mensaje es siempre el mismo: no conviene usar el with.
Sería preferible ir por el camino de SmallTalk en donde no existe el "void" o el "no retorno" de un método; traducido a Delphi sería que los métodos que no son funciones devuelvan siempre el objeto receptor Evidentemente sería un problema para las propiedades porque no habría forma de discernir entre sí el siguiente método va para el objeto inicial, o para el retorno de la propiedad. Estaríamos obligados a usar "setters" así que no es tan viable Aún así sostengo que prefiero que inviertan el tiempo en otras cuestiones |
#4
|
||||
|
||||
Cita:
Yo soy de los que, en ocasiones, usa el with; normalmente sin anidarlos y asignando exclusivamente propiedades del registro u objeto en cuestión. Es, para mi, una manera clara -al leer por encima el código- de decir, ESTO es lo que voy a hacer con el registo/objeto. Cita:
Cita:
Cita:
LineComment Saludos |
#5
|
||||
|
||||
Esto se está poniendo espeso.
En el foro de Lazarus no se está discutiendo mucho, aunque sí hay algunos apuntes interesantes. Lo traduciría pero, creedme, mi capacidad de concentración está hoy bajo mínimos. |
#6
|
|||
|
|||
Y alguien sabe si existe alguna alternativa en los compiladores modernos? algo coo un alias (por ejemplo los de SQL)?
Personalmente lo uso por que en algunos caso es complicado tener caenas de codigo tan largas, visualmente es molesto. Saludos. |
#7
|
||||
|
||||
Cita:
LineComment Saludos |
#8
|
||||
|
||||
Lo del with en Delphi es mas porque es un lenguaje que no es conciso y no tiene como declarar vbles fuera de su bloque. Pero en general es algo superfluo e innecesario en la mayoria de los lenguajes.
En python se usa por una razon diferente y es que encapsula el cierre automatico de un recurso, y eso lo hace UTIL. En vez de: Código PHP:
Se hace: Código PHP:
__________________
El malabarista. |
#9
|
||||
|
||||
Que debate nos dejó Al ¿he?
Yo tampoco uso with. Me acostumbré a no usarlo desde el comienzo. Desconozco si hay mucho código en la VCL que esté fuertemente atado al with como para tratar de justificar su existencia por la compatibilidad hacia atrás. Agustin tiene razón al decir que no se puede pretender tener compatibilidad hacia atrás 100%, en algún momento algo sale caro y deberá toquetearse. Es inevitable. Yo tengo la creencia que puede tener su cuota de uso y comodidad, bajo ciertas condiciones. Por eso no veo tan necesario mantener la postura de que debiera de desaparecer. Ahora hay que encontrar el equilibrio entre su mal uso o mala práctica, la facilidad que aporta, y que cuente con una forma segura de poder identificar adecuadamente la construcción (objeto, record, etc) inequivocamente. Saludos, |
#10
|
||||
|
||||
Cita:
A diferencia del GOTO que tiene casos de uso especializados utiles, el WITH es pura conveniencia. En tal caso, entre "medio-cambiarlo" o quitarlo es mejor quitarlo y así no hay ambigüedad en que hacer (igual apuesto que la mayoría de los programadores ni lo usan). La otra es dejar tal cual, y que "cada cual se asegure de usarlo bien". ---- Si ahora que he investigado como hacer un lenguaje me estreso, no me imagino lo que sera manejar un lenguaje y años despues, pensar en corregir algun problema. Cuando se ha hecho (caso reciente: Python 3) los cambios han sido traumáticos. Aqui hay que quitarse el sombrero con los diseñadores de GO, que desde el principio anticiparon este lio y crearon una herramienta que formatea el código para que se vea consistentem, y de paso auto-convierte la sintaxis y llamadas a librerías para salir de los problemas y de llamadas "deprecated". Y la comunidad entera lo usa de forma rutinaria: https://golang.org/cmd/gofmt/ Sin este tipo de herramientas, este tipo de mejoras es muy difícil de implementar en la practica. Incluso, el problema que mencionaron de como Delphi rompe las expectativas en como funcionan los STRING en móviles subraya el lio: A la final, es lo que los diseñadores del lenguaje necesite AHORA, y les salga fácil: Y mirar pa' atras y arreglar correctamente? Eso es de lo mas anomalo en nuestra industria.
__________________
El malabarista. |
#11
|
||||
|
||||
El uso del with, gusto los colores, por que alguno no le guste usar el with o le resulte complicado su uso, no es para eliminarlo, en mis proyectos uso el with en todo y, nunca he tenido ningún problema referente a el, incluso con el debug, eje.
Otro: Otro mas: Si no sabes como utilizar el with o te confunde, pues, evita su uso, es una herramienta bastante util al menos para mí, no veo que se deba suprimir, si lo que se pretende es evolucionar su sintaxis, estoy totalmente de acuerdo, añadir with as ?? y el ?? sea el objeto, perfecto, pero de ahí a quitarlo, no veo ningún avance sino un perjuicio, si hacemos lo mismo con este último ej. seria asi. En este caso puedo hacer dentro del mismo with as ??, poner el color en ambos objetos, sin el uso de with as ??, sólo seria para el Label1, ya que es el último objeto que ha entrado en el with y, como ambos tienen el Font, la prioridad es del Label1. de lo contrario tendria que hacer dos with, eje. Que esto es confuso, según para quién, el que esta acostumbrado a utilizarlo, no veo ninguna confusión en el. Si el with as ?? evoluciona de esta manera, perfecto, pero que no sea obligatorio usar el with as ?? y que se pueda utilizar como uno quiera, with sólo o con with as ??. Un saludo. p.d.: Espero haber contribuido a la no expulsión del with y si a su evolución.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber. |
#12
|
||||
|
||||
Cita:
Es como el idioma chino, es confuso, aunque los chinos dirán que lo entienden, pero confuso es. |
#13
|
||||
|
||||
Cita:
Cualquier lenguaje de programación utiliza atajos como el with e incluso SQL Server, Oracle se utiliza with Por que se deveria de quitar el with en delphi?, en base de datos como las que he nombrado, ¿por que las utilizan?, porque son utiles. Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber. |
#14
|
||||
|
||||
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, |
|
|
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 |
|