O GoConqr está de visual novo! Conte para nós o que você achou.

Slides

Errores comunes de programacion

Flor Romero Mantenimiento de software ninguno Espanhol 21 slides

Introducción:

Slides do conjunto (21)

  1. Errores comunes de programación:

    • Alumnas:
    • Romero Florencia.
    • Barrios Daiana.
    • Materia: Mantenimiento de Software.
    • Profesora: Pasco, Norma.
    • Curso: 4º 1ª CS IPP
    • Año: 2016
  2. Introducción:

    • Incluso los programadores más experimentados cometen errores; y conocer cómo depurar una aplicación y encontrar esos errores es una parte importante de la programación. No obstante, antes de obtener información sobre el proceso de depuración, conviene conocer los tipos de errores que deberá buscar y corregir.
    • Introducción:
  3. Tipos de errores:

    • Hay distintos tipos de errores y distintas formas de clasificarlos. Los cuatro tipos básicos de errores son: de sintaxis, por proceso no válido, lógicos tipo bucle infinito y lógicos tipo resultado incorrecto. Vamos a centrarnos en los errores lógicos que pueden clasificarse en:
  4. Errores lógicos tipo bucle infinito:

    • Errores lógicos tipo bucle infinito:
    • Legenda: En este flujograma el bucle se estará repitiendo indefinidamente ya que no existe ninguna condición que nos permita finalizar en algún momento.
    • Son aquellos que dan lugar a una parada o bloqueo del programa. Incluiremos aquí procesos en realidad no infinitos pero que consumen un tiempo desmedido respecto a lo esperado.
  5. Errores lógicos tipo resultado incorrecto:

    • No bloquean el flujo del programa, pero dan lugar a un resultado desviado. El grado de desviación escaso puede dificultar su detección y corrección. El ordenador no puede saber que existe un error pues sólo el programador que idea el proceso puede decir si éste es correcto o no.
    • Errores lógicos tipo resultado incorrecto:
  6. Errores comunes en la programación:

    • A continuación, vamos a ver los errores más comunes que se cometen al programar y como solucionarlos algunos de ellos. Estos errores pueden ser independientes al lenguaje de programación que se utiliza:
    • Errores comunes en la programación:
  7. Indizado inadecuado de tablas en bases:

    • Indizado inadecuado de tablas en bases:
    • Los índices en MySQL permiten localizar y devolver registros de una forma sencilla y rápida. El uso inadecuado de ellos puede redundar en pérdida de rendimiento, por lo que conviene saber qué es lo que estamos haciendo.
  8. Variables no inicializadas:

    • En programación, una variable no inicializada es una variable que se declara pero no corresponde a un valor definido y conocido antes de su uso. Tendrá algún valor, pero no se puede predecir.
    • También, uno de los errores más comunes en lenguajes se produce al cometer errores ortográficos. Por ejemplo, en un programa usamos una variable llamada prueba, y en un punto determinado le asignamos un nuevo valor, pero nos equivocamos y escribimos prubea. El compilador no detecta el error, simplemente crea una nueva variable, y continúa como si todo estuviese bien.
    • En el ejemplo vamos a ver que declaramos las variables, pero no las inicializamos:
    • Variables no inicializadas:
    • Legenda: Variables declaradas pero no inicializadas.
  9. Corrección de variable no inicializada:

    • Para solucionar este problema debemos inicializar las variables usando el signo igual ( = ). En el ejemplo vamos a poder ver como las inicializamos a las variables anteriormente declaradas.
    • Corrección de variable no inicializada:
    • Legenda: Variables declaradas e inicializadas.
  10. Llamar a funciones que no existen:

    • En el siguiente ejemplo vamos a ver el mensaje de error que nos muestra el programa al intentar llamar una función que no existe o no está correctamente escrita (imagen 1), y su corrección (imagen 2). El programa utilizado en el ejemplo es C Sharp, y la función que intentamos llamar es ( imprimirestadísticas ) que realiza un resumen de la actividad del programa.
  11. Slide 11

    • Imagen 1 : Podemos ver que el error consiste en que hemos escrito mal la función, por lo que el programa lo detecta y nos…
    • Legenda: Imagen 1 : Podemos ver que el error consiste en que hemos escrito mal la función, por lo que el programa lo detecta y nos indica el problema que está remarcado con un círculo rojo.
  12. Corrección de función:

    • Corrección de función:
    • Legenda: Imagen 2 : Ahora vemos que ya hemos corregido el error cambiando el nombre de la función a una que si existe y a la intentábamos llamar anteriormente, por lo que no se detectan más errores.
  13. Exceder el tamaño de array:

    • Un array es un objeto que nos permite guardar varios elementos de un mismo tipo. Se
    • produce un error por exceder el tamaño de un arreglo cuando hay mas elementos o
    • valores en las llaves de los que posee el array o del valor máximo que
    • declaramos. En el caso de que haya menos valores en las llaves de los que
    • declaramos se rellenan los valores que faltan con ceros.
    • Exceder el tamaño de array:
    • Legenda: En este caso se excede el tamaño, ya que solo le dimos a la variable ( a ) el tamaño para introducir solamente ( [2] ) valores y en el ejemplo estamos asignándole 5 valores.
  14. Corrección de tamaño de array:

    • Corrección de tamaño de array:
    • Para solucionar este problema simplemente debemos declarar la cantidad exacta de valores que vamos a utilizar o más de las que vamos a utilizar, otra posibilidad es declarar el array sin indicar el tamaño y asignarle directamente valores. El tamaño del array se adaptará al tamaño de los valores, como se muestra en la siguiente imagen:
  15. Acceder a memoria no permitida:

    • Se define como violación de acceso al intento fallido de acceso a información o a programas a los que no se tiene autorización para ver o modificar. Normalmente se produce como resultado de un error de programación, por ejemplo, un puntero descarriado. Otra forma en que podría producirse un "segmentation fault" es con una memoria dañada físicamente, puesto que algún programa escribirá en la memoria, luego intentará acceder a esos datos, pero al tener una falla la memoria, es posible que los datos se hayan borrado, por ende el programa considerará esa dirección de memoria como vacía, con lo que arrojará el error.
  16. Slide 16

    • Errores comunes de programacion
  17. Desbordamiento de búfer:

    • Un desbordamiento de buffer (del inglés buffer overflow o buffer overrun) es un error de software que se produce cuando un programa no controla adecuadamente la cantidad de datos que se copian sobre un área de memoria reservada a tal efecto (buffer): Si dicha cantidad es superior a la capacidad preasignada, los bytes sobrantes se almacenan en zonas de memoria adyacentes, sobrescribiendo su contenido original, que probablemente pertenecían a datos o código almacenados en memoria. Esto constituye un fallo de programación.
  18. Ejemplo básico:

    • Ejemplo básico:
    • Legenda: En el siguiente ejemplo se presenta un código fuente en C con un error de programación. Una vez compilado, el programa generará un desbordamiento de buffer si se lo invoca desde la línea de comandos con un argumento lo suficientemente grande.
  19. Slide 19

    • Este programa puede reescribirse en forma más segura usando la función strncpy de la siguiente manera.
    • Legenda: Este programa puede reescribirse en forma más segura usando la función strncpy de la siguiente manera.
  20. Bloque mutuo (Deadblock):

    • El bloqueo mutuo es el bloqueo permanente de un conjunto de procesos en un sistema concurrente que compiten por recursos del sistema o bien se comunican entre ellos. A diferencia de otros problemas, no existe una solución general para los interbloqueos.
    • Los bloqueos mutuos pueden ser evitados si se sabe cierta información sobre los procesos antes de la asignación de recursos. Para que el sistema sea capaz de decidir si el siguiente estado será seguro o inseguro, debe saber por adelantado y en cualquier momento el número y tipo de todos los recursos en existencia, disponibles y requeridos. Existen varios algoritmos para evitar bloqueos mutuos:
    • Algoritmo del banquero, introducido por Dijkstra.
    • Algoritmo de grafo de asignación de recursos.
    • Algoritmo de Seguridad.
    • Algoritmo de solicitud de recursos.
    • Bloque mutuo (Deadblock):
  21. Fuga de memoria:

    • Ocurre cuando un bloque de memoria reservada no es liberada en un programa de computación. Comúnmente ocurre porque se pierden todas las referencias a esa área de memoria antes de haberse liberado.
    • Dependiendo de la cantidad de memoria perdida y el tiempo que el programa siga en ejecución, este problema puede llevar al agotamiento de la memoria disponible en la computadora.
    • Fuga de memoria:
    • Legenda: RAII soluciona las fugas de memoria relacionando objetos con los recursos adquiridos, y automáticamente liberando los recursos cuando los objetos terminan su vida.

Informações

Descrição
ninguno Mantenimiento de software Slides sobre Errores comunes de programacion, criado por Flor Romero em 04-08-2016.
Criado por
Flor Romero
Visualizações
2
Histórico
  • Criado por Flor Romero · 4 ago 2016
  • Copiado por Flor Romero · 4 ago 2016
Avaliação

Fale Conosco

Sobre o que é sua mensagem?

O que você acha do novo visual?

Você gostou?