3ENGINE

Programación y otros cachivaches

Categoría: Tecnologia

Página 31/45

Tecnologia

Acoplamiento y Cohesión


Definición

  1. Cohesión: grado de cercania entre 2 o mas elementos, tienen características que les unen.
  2. Acoplamiento: grado de dependencia entre 2 o mas elementos.

Objetivo

Mantener el acoplamiento lo más bajo posible y la cohesión lo más alta posible suele ser el objetivo de todo arquitecto, diseñador o programador. Tener unos buenos criterios para agrupar unidades de software (alta cohesión), y mantener esas unidades lo más independientes posible (bajo acoplamiento) garantiza la modularidad, facilitando la reutilización del software y gran parte de las tareas del desarrollo del sofware.

El artículo completo en La tecla de escape
Otro aquí

Creo que son dos conceptos esenciales que los diseñadores de software acostumbramos a olvidar…




Tecnologia

SqlDbx


SqlDbx es un IDE para bases de datos Oracle, SQL Server, DB2, Sybase y ODBC. Incluye Intellisense, un comparador visual de datos, remarcado de sintaxis, scripts de SQL, exportación de datos a varios formatos, visualizador de esquemas, etc. La versión personal ya de por si tiene un monton de características y eso que es gratuita.




Tecnologia

Nomenclatura en c#


Una buena práctica a la hora de programar es que todo el equipo siga la misma nomenclatura en la definición de interfaces, clases, métodos, etc. En este enlace hablan detalladamente del tema.

Dejo aquí la nomenclatura a seguir.

Programación

Tipo Notación + Contenido Ejemplo
NameSpaces Pascal Case, Sin Guión Bajo IrritatedVowel.Controllers
Clases (Classes) Pascal, Sin Guion Bajo MainForm
Colecciones (Collections) Pascal + “Collection” WidgetCollection
Interfases (Interfaces) Pascal con “I” inicial IWidget
Enumeradores Pascal (Generalmente Plural) OpcionesBusqueda
Funciones y Subs Pascal, Sin Guión Bajo ConvertirContenido (…)
Propiedades Publicas Pascal, Sin Guión Bajo RecordID
Propiedades Privadas Camel [prefijo _ opcional] recordId, _recordId
Parámetros Camel, sin abreviaciones ref int recordID
Controles en ASPX Camel, con prefijo [ejem: ux] uxUserId

Bases de datos

Tipo Notación + Contenido Ejemplo
Nomenclatura de Tablas Pascal Case (excepto mysql) Colonias, Modulos
Campos Camel Case, Sin Guión Bajo idRegistro, diaRegistro
Funciones Pascal Case, Sin Guión Bajo Letra, DiasVencidos
Stored Procedures Camel, Sin Guión Bajo
[proc]+[tabla]+[funcion]
Ej 1: procClienteInsert
Ej 2: saldoVencidoSelect
* prefijo proc es opcional*
Parámetros en SP Camel, Sin Guión Bajo @idCliente
Vistas (Views) Camel, prefijo “vw” vwClientes



Tecnologia

Eurekalog: ‘cazando’ memory leaks.


Delphi no dispone de recolector de basura como otros lenguajes como .NET o Java. Esto comporta la obligación de destruir los objetos explicitamente.

EurekaLog es una herramienta para identificar donde no se libera la memoria (Memory Leak) dentro de una aplicación escrita en Delphi. Genera un Log donde informa del fichero, clase, métodos y número de linea donde se está produciendo el error.

En el artículo Cazando errores con EurekaLog se explica mas detalladamente esta herramienta.