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/17 22:27] 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 93: | Línea 93: | ||
|ConnectObject|cno| |scno_ConObj| | | |ConnectObject|cno| |scno_ConObj| | | ||
|Datastore|ds| |lds_source| | | |Datastore|ds| |lds_source| | | ||
- | |Datawindow Grid|dwg| |dwg_lista|Solo aplica para la definición del control (dataobject). No para utilización en la implementación| | + | |Datawindow Grid|dwg| |dwg_lista|Solo aplica para la definición del control (dataobject). No para utilización en la implementación (se usa datastore)| |
- | |Datawindow Free|dwf| |dwf_consulta|Solo aplica para la definición del control (dataobject). No para utilización en la implementación| | + | |Datawindow Free|dwf| |dwf_consulta|Solo aplica para la definición del control (dataobject). No para utilización en la implementación (se usa datastore)| |
- | |Datawindow Free|dwf| |dwf_consulta|Solo aplica para la definición del control (dataobject). No para utilización en la implementación| | + | |
|DynamicDescriptionArea|dda| |ldda_Execute| | | |DynamicDescriptionArea|dda| |ldda_Execute| | | ||
|DynamicStagingArea|dsa| |ldsa_MyQuery| | | |DynamicStagingArea|dsa| |ldsa_MyQuery| | | ||
Línea 156: | Línea 155: | ||
|VariableDefinition|vd| |lvd_Sore| | | |VariableDefinition|vd| |lvd_Sore| | | ||
+ | === Observaciones === | ||
+ | * Cualquier tipo de datos o control 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 clases === | ||
+ | == Prefijos de clases == | ||
+ | ^ Clase ^ Prefijo ^ Código Aplicación ^ Ejemplo ^ Observaciones ^ | ||
+ | |Standard Class User Object|n_| |n_ds|Esta nomenclatura se puede ignorar si se mantiene el nombramiento de variables y calificadores de acceso Ej: lds_source para datastore| | ||
+ | |Custom Class User Object|n_cst_| |n_cst_customer| | | ||
+ | |Global Structure|s_| |s_point| | | ||
+ | == Nombramiento de clases: Custom Class User Object == | ||
+ | ^ 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| | ||
+ | |Service|Controller|n_cst_service_|n_cst_service_login|Se recomienda una sola implementación por componente| | ||
+ | |Model|Model|n_cst_|n_cst_login|Pueden existir varias clases modelo dependiendo de la complejidad del componente| | ||
+ | === Observaciones === | ||
+ | * Cualquier tipo de datos o control 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 Tipos de Datawindows === | ||
+ | ^ Clase ^ Prefijo ^ Código Aplicación ^ Ejemplo ^ Observaciones ^ | ||
+ | |Grid|dwg_| |dwg_prueba| | | ||
+ | |Free o para Filtros|dwf_| |dwf_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 === | ||
+ | ^ Tipo ^ Prefijo ^ Código Aplicación ^ Ejemplo ^ Observaciones ^ | ||
+ | |Function Object|of_| |of_calcular_saldo| | | ||
+ | |Function Set|set_| |set_valor| | | ||
+ | |Function Get|get_| |get_valor| | | ||
+ | === Observaciones === | ||
+ | * No debe utilizar funciones globales. | ||
+ | ==== 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: | ||
- | + | * Evite el uso de variables globales. | |
- | + | * No utilice cursores en el código (utilice datastore). | |
- | * [[ada:tips:sicoferp:general:pbtows:procesos:developmentstandards:nomenclature:pb|Nomenclatura Powerbuilder]] | + | * Evite el uso de funciones globales (agrupelas en objetos no visuales). |
- | + | * Evite el uso de la tabla Dummy (utilice datawindows external). | |
+ | * 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. | ||
+ | * 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. | ||