2. EL CONO DE DALE
• Edgar Dale fue un pedagogo
estadounidense conocido
por su famoso cono de la
experiencia.
• Estudió las diversas formas de
aprendizaje para analizar la
profundidad de retención que
se conseguía con cada una.
Reflejó los resultados de su
estudio en un Cono o Pirámide
del aprendizaje que revela
claramente la efectividad de
cada método.
3. METODOLOGÍA DE APRENDIZAJE
• En una formación normal de aula
disponemos de las partes
superiores de la pirámide del
aprendizaje, es decir, leer, oír, ver y
oír + ver. Pero es mucho más difícil
que tengamos las partes
correspondientes a la base, que
son las realmente efectivas.
• Estas actividades de la base de la
pirámide, bien hechas, serían las
que están dentro del recuadro
grande en el diagrama, y son
inherentemente cíclicas: es un
bucle del que no deberíamos salir
hasta haber practicado lo
suficiente.
4. TIPS PARA UNA BUENA PROGRAMACIÓN
• · Robusto. Decimos que un programa es robusto cuando es tolerante a las fallas.
• · Eficiente. Los programas deben usar de manera correcta los recursos del sistema
en el cual se están ejecutando. En un avión, por ejemplo, el tamaño y el peso de
una computadora es limitado. De modo que el software utilizado en esos sistemas
debe estar restringido a la capacidad de memoria y a la velocidad del procesador
utilizado
• Utilizable. Los programas utilizables son aquellos que el usuario final encuentra
fáciles de operar.
• · Mantenible. Un programa mantenible involucra hacer cambios a un programa
después de haber sido implementado. Es posible que después de un tiempo, el
usuario ya no esté completamente satisfecho con el sistema, entonces se debe
modificar
5. IDENTACION
• Cuando los programas tienen
cientos o miles de líneas de
código, la identación - o la falta
de ella - afectarán
significativamente la legibilidad
del programa. También los
comentarios incrementan la
legibilidad de un programa.
6. • Escribir variables con un significado que nos haga recordar fácilmente
el porqué existe tal variable. Los nombres para las variables,
generalmente empiezan con una letra y pueden continuar con más
letras o con números, y a veces también se permiten los guiones y
muy pocos símbolos especiales
7. • Cualquier persona que lea este último fragmento de código, no sabría
lo que significan los símbolos m, n s y e. Pero los ejemplos del código
con las variables con significado dan una mejor idea de lo que
queremos expresar en el código.
• Los identificadores tanto de variables como de clases, funciones y
procedimientos constituyen una buena parte del código. Su elección
es muy importante ya que normalizan el código, y ayudan a entender
el significado real de las acciones que realizan.
1.- Nomenclatura
8. • Uno de los pilares de una programación sólida es conseguir detectar
rápidamente los errores durante el desarrollo para evitar que estos pasen al
producto que entregamos al cliente.
• El mecanismo principal para lograr este objetivo es el uso generalizado y
profuso de validaciones en el código para detectar cualquier uso no válido
de nuestros métodos, clases, funciones y procedimientos. A esto lo
denomino ‘Blindaje de Clases y Bloques’.
2.- Uso profuso de
Aserciones/Validaciones.
9. • Una posible clasificación de las validaciones es la siguiente:
• · · Validaciones Internas. Se escriben para capturar estados
erróneas durante el desarrollo.
• · · Validaciones Paramétricas.
• · · Validaciones Contextuales a nivel de Clase.
• · · Validaciones Contextuales a nivel de Aplicación.
• · · Validaciones Externas. Se escriben para evitar que se
produzcan estados erróneos en la aplicación debidos a entradas no
válidas por parte de los componentes externos a la aplicación
(usuarios, ficheros, etc).
10. •3.- Reutilización de arquitecturas.
• La estructura de la mayoría de las aplicaciones es muy similar.
Podemos observar que existen ciertos objetos que usamos en casi
todos nuestros programas. Por ello es importante desarrollar una
arquitectura clara y sencilla en nuestra aplicación, ayudándonos de
desarrollos anteriores, y patrones de diseño.modMain
Public oLogG As CLogObject
Public oReportG as CReportObject
'....Ser cuidadoso, no abusar de los objetos globales!!!!!
Public Sub main()
' Algo de código
'Inicializar oLogG y oReportG
'más código
End Sub
11.
12. • Para finalizar este repaso informal sobre la práctica de la programación
apuntamos algunos consejos generales sobre el desarrollo de código de
calidad, que no debemos perder de vista.
• Seguimientos de código. No escatimemos esfuerzos en contemplar como
funciona nuestro código. Hoy en día la mayoría de los entornos de desarrollos permiten
hacer tareas de seguimiento de una forma sencilla y rica. Es increíble la cantidad de
errores que uno es capaz de encontrar viendo funcionar el código paso a paso, ya que
en esta situación se invierte la relación entre el programador y el ordenador, siendo el
cerebro capaz de pensar más rápido que él, y ver más allá de lo que con anterioridad
hemos escrito.
• Conseguir que el código tenga una visualización correcta.
Hacerlo más legible. Esto se consigue formateando bien el código: sangrado,
colores, estructuración, tamaño adecuado de líneas, extensión correcta en
funciones, procedimientos, clases, etc.
Algunas otras reglas generales
13. ¿Cuál es más fácil de leer?
1.-
Public Sub Procedure(parameters list)
On Error GoTo errCatch
Debug.Assert (ValidateSomething())
If cualquier condicion = False Then
Has cualquiercosa
Else
For each object in colObjects
If alguna otra condicion = false then
Has cualquier tora cosa
End If
Next
End If
Exit Sub
errCatch:
MsgBox Err.Description, .......
End Sub
2.-
Public Sub Procedure(parameters list)
On Error GoTo errCatch
Debug.Assert (ValidateSomething())
If alguna condicion= False Then
has cualquier cosa
Else
For each object in colObjects
If alguna otra condición = false then
has cualquier otra cosa
End If
Next
End If
Exit Sub
errCatch:
MsgBox Err.Description, .......
End Sub