edición general
226 meneos
4624 clics

Sólo has añadido dos líneas. ¿Por qué tardaste dos días? (ENG)

Puede parecer una pregunta razonable, pero hace algunas suposiciones terribles: líneas de código = esfuerzo, líneas de código = valor, todas las líneas de código son iguales. Nada de eso es cierto. ¿Por qué un arreglo que parece tan simple cuando se observan los cambios realizados tomó dos días para completarse?

| etiquetas: programación , bugs
12»
  1. #44 ¿Qué lenguaje es ese que no te da una excepción de formato al parsear 0.9 como entero y, especialmente, ninguna excepción al dividir por cero?
  2. #125 Por los nombres de los métodos ya me imaginaba que hablabas de Java.

    Pero es que en Java un Integer.parseInt() de un número con decimales te da una java.lang.NumberFormatException (que por otro lado, no entiendo por qué hacían un parseInt() de unos cálculos intermedios. Me suena a alguna chapuza estilo parseInt() de un BigDecimal.toString() o algo por el estilo).

    Y un BigDecimal una java.lang.ArithmeticException: Division by zero si intentas dividir por 0. Sí es cierto que con Double o Float lo que obtendrías es un POSITIVE_INFINITY, pero no son simplemente números muy grandes y en cuanto intentaras usarlos como valores numéricos obtendrás una excepción igualmente: por ejemplo, un new BigDecimal(Double.POSITIVE_INFINITY) te va a dar java.lang.NumberFormatException: Infinite or NaN.

    Otra cosa es que, como comentas, escriban sus propias implementaciones de división...

    Pero vamos, la cosa es que difícilmente en Java vas a obtener silenciosamente un número muy grande al dividir por cero, salvo que así lo implementes expresamente capturando las excepciones. No quiero ni pensar con qué tipo de enrevesado código te encontraste y todo por lo que dices, no usar lo que el lenguaje ya te da hecho por ejemplo con Calendar.
  3. Más de una vez he publicado partes grandes de código que al final era una mala solución y sabía que lo iba a desechar, para a continuación publicar el bueno
  4. ¿Sólo dos días?, ¿cuantos test cases tenía? Lo mismo hasta fue demasiado rápido.
  5. Un problema con esto es que un compañero chapucero puede presentar una solución en la mitad de tiempo y modificando cien líneas, aunque no haya entendido bien lo que estaba tocando y deje un pufo a futuro. Pues este tío, para muchos jefes, es lo más.
  6. #44 Y lo peor es que nadie medio importante valora/comprende todo ese esfuerzo...
  7. #1Pues nada. Se revisa otra vez un poco el código, se cambian dos lineas bien elegidas sin documentar ni comentar los cambios y se le devuelve al listo de turno diciendole que haber cuanto tarda el en arreglarlo.
  8. #62 Era obvio en cuanto soltaste "incapaz de entender"
  9. #46 La respuesta está contenida en los decimales de Pi.

    También todas las respuestas incorrectas y otras cosas diversas. El problema es saberlo distinguir.
  10. Porque para que un avión funcione todo tiene que estar perfectamente calibrado, pedazo de subnormal.
  11. La informatica y sus cosas.
  12. #36 otra pregunta sería: "¿Cuál era el problema?" y te contesten, "No se, pero con esas líneas funciona".
  13. #116 Ya te digo...
    En videojuegos, los QA, graban continuamente la partida, así por lo menos hay constancia del bug y como se produjo..
  14. Hello
    World!!!
  15. #30 Muchas veces yo le llamo arqueología de código.
  16. Joder, esto está lleno de programadores !!!. A mi siempre me ha parecido una tontería equiparar el número de líneas con el trabajo realizado, hay gente que programa una línea sí y otra no para verlo más claro, ¿qué trabaja el doble ?. Además no hace falta que sean dos líneas, que falte una coma ya vale para joder un proyecto entero....
  17. Total factura = 1000 euros
    Tornillo = 0.1 euros
    Saber que tornillo tocar = 999.9 euros
  18. #14 es un campo de remolachas?
  19. Un mes de trabajo
    Un maldito punto y coma tras la condición en un bucle while....
    Encima el código era mío

    Hoy día cualquier compilador o el propio IDE me hubieran insultado con cientos de warnings avisando del error ... pero esto fue hace treinta años...
    Todavía tengo pesadillas
  20. #74 Trabajar con máquinas con menos recursos (memoria, micro...) es algo desesperante y que además le cuestan una pasta a la empresa; es algo que no puedo llegar a entender.
  21. #117 el problema es que a veces no quieren que "pierdas el tiempo con toda esa documentación", porque lo más habitual es corregir los errores relativamente rápido porque son relativamente estándar, y cuando un error es más largo de lo habitual te encuentras con que no tienes documentación previa. De todos modos, tengo la fortuna de que a mi esto no me ha pasado y no se ha puesto en duda si algo "con poco código" lleva más o menos tiempo
  22. #34 eso sustituirá a la ballena en mis pesadillas.........dios santo......:shit:
  23. #104 Son comentarios de línea, no de bloque.

    // pon lo que quieras
    /* lo que
    tu quieras
    */
  24. #124 Es Java, pero piensa que lo que comentas no es algo que esté restringido por lenguaje, mucho menos si este es orientado a objetos. Al final, un .valueOf(), .intValue(), A.divide(B), / o una función dividir que yo programe se comporta de forma diferente si se trata de los métodos de un Float, float, Double, double, BigDecimal o de una clase "importe" que yo haya programado. Alguna de ellas dará error al dividir por 0 y otras no.
12»
comentarios cerrados

menéame