![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
En todo caso "CreateOrNil"... aunque me sigue gustando más "TryCreate". A menos que yo traduzca mal el "try"
__________________
La Madurez se llama... ~~~Gaia~~~ |
|
#2
|
||||
|
||||
|
El nombre mas comun que he visto en varios lenguajes es
Código:
getOrNone(param) Código:
ifcreate('param','defaultValue)(param)
__________________
El malabarista. |
|
#3
|
||||
|
||||
|
Realmente la forma de crear el objeto no es consistente con la práctica en Delphi. No es que sea malo romper con la práctica, más si ésta no es tan buena. Sino que puedes crear incosistencias en tu código. Pero la forma que propones es la utilizada por Python más o menos. Pero en Python, si un parámetro no valida se genera una excepción.
Con respecto al nombre de "Make", el verbo es muy general y ambiguo. En lo personal me quedaría con el Create. Saludos! |
|
#4
|
||||
|
||||
|
Muchas gracias por sus valiosas respuestas.
He tenido la sensación de estar enfocando mal el problema, pero algo me dice quizá no voy tan mal. Elevar excepciones desde el interior de un constructor es algo normal cuando no están dadas las condiciones estrictamente necesarias para que la instancia exista. Pero a veces la instancia puede o no puede existir, sin que lo último amerite generar un error o aviso. Hice un ejemplo un poquitín menos "abstracto":
Lo de Make fue por buscar un sinónimo de Create, algo que, quizá (y ahí tengo mi mayor duda) pudiera llegar a ser acuñado y con el tiempo dejar de sonar confuso o ambiguo. Una palabra que "insinúe" una acción semejante a la del constructor, pero que al mismo tiempo se diferencie de éste, entendiéndose que podemos obtener un Nil si cierta condición (que podría estar documentada) no se cumple en la llamada a ese método especial. «Oh, mire compañero, la clase tiene método Make, hay que usarlo en esta parte del programa. Según dice aquí, devuelve Nil cuando...» Me empieza a gustar el nombre TryCreate que propusieron en mensajes anteriores. TryOrNil se entiende también, pero se pierde un poco el sentido de "crear". Otro camino es que este tipo de métodos se definan con nombres más explícitos y acomodados a cada clase y situación en particular, con lo cual ya no tendríamos una candidatura a estándar. Y bueno, también está la opción de crear una función normal o de otra clase, que haga la tarea, pero creo que es más correcto que la propia clase se encargue de validar o verificar lo que a la clase concierne. ¿No creen? Bueno, a alguna conclusión habremos de llegar entre todos. ![]() ¡Saludos! |
|
#5
|
||||
|
||||
|
¿Build?
// Saludos |
|
#6
|
||||
|
||||
|
Cita:
// Saludos |
|
#7
|
||||
|
||||
|
Gracias Román.
![]() Una hora más temprano que ayer, pongo una breve lista de posibles nombres:
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Encontrar objeto por su nombre, encontrar metodo, ejecutar metodo | coso | Trucos | 7 | 02-09-2011 00:23:13 |
| Cambiar el nombre de la clase. | rauros | Varios | 2 | 02-08-2008 20:56:44 |
| Crear formularios a partir de su nombre de clase | kes | .NET | 6 | 21-02-2008 08:06:07 |
| Crear Objeto por su nombre de clase | jlrbotella | OOP | 2 | 08-01-2008 23:44:37 |
| nombre de variables de una clase | Mariana | OOP | 8 | 25-10-2005 17:48:34 |
|