Historias
Slashboxes
Comentarios
 
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • por pobrecito hablador el Viernes, 28 Febrero de 2014, 12:02h (#1356133)

    y por eso es mucho más cercano a la realidad decir "no se pueden usar gotos" que decir lo contrario.
    Pero falso. Supongo que tu eres de los que prefiere evitar dar razones por las cuales tal o cual cosa es mala y prefiere prohibir tajantemente en lugar de hacer comprender dichas razones.

    lo han hecho en Safari
    Si te lees la noticia, veras que se descubrio con Safari pero no es cosa del mismo, y por eso es una vulnerabilidad comun a OS X, iOS y una ristra de software dependiente del mismo codigo.

    Pero en cambio sí parece claro que a lo que ha afectado (que de eso va la noticia) es a la mantenibilidad del código.
    Cambia el goto por un return y tienes EXACTAMENTE el mismo bug.
    [ Padre ]
  • por triturator (14194) el Viernes, 28 Febrero de 2014, 12:27h (#1356140)
    No prefiero evitar razones ni nada de esas cosas que asumes que hago yo. Pero si alguien me pregunta "¿conviene usar gotos?" y no tengo tiempo de convocar una mesa redonda de expertos para debatir la problemática, prefiero contestar "no, no se puede" que "sí, por supuesto". Creo que se acerca más a la respuesta real, que como todo en esta vida tiene muchos matices y depende del caso. No todo en la vida es verdadero o falso.

    No había visto que en realidad era cosa del sistema operativo. Eso cambia la cosa, y habría que ver porque quizá entonces sí tiene sentido. De todas maneras, que por sustituirlo con un return se mantenga el bug no quiere decir que el error no venga de usar el goto. Habría que ver el código, el error y sus causas.
    [ Padre ]
  • por pobrecito hablador el Viernes, 28 Febrero de 2014, 15:04h (#1356155)

    Cambia el goto por un return y tienes EXACTAMENTE el mismo bug.

    Y por eso es una práctica que está igual de mal vista. Tal vez no tanto como el goto (porque su uso es mucho más limitado, cuando ves un return ya sabes a dónde va sin tener que mirar nada), pero también es una recomendación general que todos tus returns estén al final de la función. También se recomienda, por lo mismo, que no se utilice break para salir de los bucles, y que se utilice la estructura "switch" solo por motivos de rendimiento o legibilidad. Todas esas prácticas rompen el flujo del programa y por, en consecuencia, se recomienda limitar su uso (cuando no suprimirlo totalmente). Las excepciones son también un caso particular de goto (son una especie de "come from") y también hay una tendencia a limitar la programación utilizando excepciones.

    [ Padre ]
  • por pobrecito hablador el Sábado, 01 Marzo de 2014, 10:17h (#1356209)
    Usar gotos en funciones es sinónimo de que la función está mal hecha, está incompleta o se debería usar una función o subrutina más. De la misma manera que usar breaks de salida en bucles indica que el bucle está mal montado o en esa parte del código no se necesita un bucle. Se programe en C, en Basic, en Java o en Php.

    Intentar justificar el uso del goto con que si es por ahorrar código, velocidad de ejecución y demás chorradas es patético. Y ya puede estar en el kernel o en un programa de usuario.

    Podría aceptarlo en una función específica o en un módulo de alto rendimiento de un RTOS y con peros, y no después de ver si realmente vale la pena llamar al monstruo de los espaguetis.
    [ Padre ]