Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
ada:tips:sicoferp:general:pbtows:procesos:developmentstandards:nomenclature:pb [2019/10/22 15:43] administraidor |
ada:tips:sicoferp:general:pbtows:procesos:developmentstandards:nomenclature:pb [2019/10/22 15:52] (actual) administraidor [Recomendaciones:] |
||
---|---|---|---|
Línea 40: | Línea 40: | ||
^ Tipo Libreria ^ Prefijo ^ Código Aplicación ^ Capa de implementación ^ Nombre Componente ^ Ejemplo ^ | ^ Tipo Libreria ^ Prefijo ^ Código Aplicación ^ Capa de implementación ^ Nombre Componente ^ Ejemplo ^ | ||
|Lanzadora|ws|00|No Aplica|login|ws00_login.pbl| | |Lanzadora|ws|00|No Aplica|login|ws00_login.pbl| | ||
- | |Invocadora|sf|00|controller|login|sf00controller_login.pbl| | + | |Invocadora|sf|00|Controller|login|sf00controller_login.pbl| |
- | |Modelo|sf|00|model|login|sf00model_login.pbl| | + | |Modelo|sf|00|Model|login|sf00model_login.pbl| |
=== Observaciones === | === Observaciones === | ||
Línea 167: | Línea 167: | ||
|Global Structure|s_| |s_point| | | |Global Structure|s_| |s_point| | | ||
- | == nombramiento de clases: Custom Class User Object == | + | == Nombramiento de clases: Custom Class User Object == |
^ Tipo de Clase ^ Capa de Implementación ^ Prefijo ^ Ejemplo ^ Observaciones ^ | ^ Tipo de Clase ^ Capa de Implementación ^ Prefijo ^ Ejemplo ^ Observaciones ^ | ||
|Controller|Controller|n_cst_controller_|n_cst_controller_login|Se recomienda una sola implementación por componente| | |Controller|Controller|n_cst_controller_|n_cst_controller_login|Se recomienda una sola implementación por componente| | ||
|Service|Controller|n_cst_service_|n_cst_service_login|Se recomienda una sola implementación por componente| | |Service|Controller|n_cst_service_|n_cst_service_login|Se recomienda una sola implementación por componente| | ||
- | |Model|Model|n_cst_|n_cst_login|Puedne existir varias clases modelo dependiendo de la complejidad del componente| | + | |Model|Model|n_cst_|n_cst_login|Pueden existir varias clases modelo dependiendo de la complejidad del componente| |
=== Observaciones === | === Observaciones === | ||
Línea 184: | Línea 183: | ||
|Free o para Filtros|dwf_| |dwf_prueba| | | |Free o para Filtros|dwf_| |dwf_prueba| | | ||
|External|dwe_| |dwe_prueba| | | |External|dwe_| |dwe_prueba| | | ||
+ | |||
+ | === Observaciones === | ||
+ | * Cualquier tipo de datawindows no definido en la tabla anterior no debe ser utilizado en la generación de componentes ni en el consumo de proxys. | ||
=== Convención de nombres de funciones === | === Convención de nombres de funciones === | ||
Línea 193: | Línea 195: | ||
=== Observaciones === | === Observaciones === | ||
- | * Cualquier tipo de datawindows no definido en la tabla anterior no debe ser utilizado en la generación de componentes ni en el consumo de proxys. | + | * No debe utilizar funciones globales. |
- | Recomendaciones: | + | ==== Recomendaciones: ==== |
La siguientes recomendaciones no imponen reglas de utilización sin embargo trate en lo posible de aplicarlas ya que el hacerlo optimiza el código generado: | La siguientes recomendaciones no imponen reglas de utilización sin embargo trate en lo posible de aplicarlas ya que el hacerlo optimiza el código generado: | ||
Línea 204: | Línea 206: | ||
* Evite el uso de la función RowCount() en un bucle Ej: for i = 1 to ldwg_prueba.RowCount ya que implica un consumo excesivo de ram en su lugar asigne el valor una variable y utilicela en la definición del bucle. | * Evite el uso de la función RowCount() en un bucle Ej: for i = 1 to ldwg_prueba.RowCount ya que implica un consumo excesivo de ram en su lugar asigne el valor una variable y utilicela en la definición del bucle. | ||
* Evite el uso del tipo de dato Date en su lugar utilice el tipo Datetime. | * Evite el uso del tipo de dato Date en su lugar utilice el tipo Datetime. | ||
+ | * No debe utilizar el tipo de datos Any en la capa de implementacion controller, solo puede ser utilizado en la capa model ya que las conversiones implicitas pueden generar comportamientos indefinidos y excepciones en tiempo de ejecución. | ||
+ | * El valor Nulo solo es permitido en las asignaciones implicitas setNull y en los valores de retornos de la base de datos. | ||