Ingeniería de software

168
¿Cómo ser un programador de cero errores? [cerrado]

Mi jefe siempre me ha dicho que un buen programador debería poder asegurarse de que el código que cambia sea confiable, correcto y completamente autoverificado; que debe comprender completamente todos los resultados e impactos que causarán sus cambios. He hecho todo lo posible para ser este tipo de...

166
¿Cómo saben los programadores rápidos y sucios que lo hicieron bien?

Si le preguntas a los programadores por qué deberían escribir código limpio, la respuesta número uno que obtienes es la mantenibilidad. Si bien eso está en mi lista, mi razón principal es más inmediata y menos altruista: no puedo decir si mi nuevo código es correcto si está demasiado sucio. Me...

166
¿Hay algún programador famoso de un solo ejército?

Últimamente he estado aprendiendo de más y más programadores que piensan que si estuvieran trabajando solos, serían más rápidos y ofrecerían más calidad. Por lo general, ese sentimiento se une a un sentimiento de que hacen la mejor programación en su equipo y, al final del día, la idea es bastante...

164
¿Qué hay de malo con las cuerdas mágicas?

Como desarrollador de software experimentado, he aprendido a evitar las cadenas mágicas. Mi problema es que hace tanto tiempo que no los uso, que he olvidado la mayoría de las razones. Como resultado, tengo problemas para explicar por qué son un problema para mis colegas menos...

164
¿Cuándo usar C sobre C ++ y C ++ sobre C?

He sido introducido en Ciencias de la Computación por un poco más de un año, y desde mi experiencia parece que C y C ++ se consideran tanto ser lenguas "ultrarrápidos", mientras que otros como Python y dichos lenguajes de script son generalmente consideradas algo más lento . Pero también he visto...

162
¿Por qué HTTP no tiene redirección POST?

Las redirecciones HTTP se realizan a través de los códigos HTTP 301 y 302 (quizás también otros códigos) y un campo de encabezado conocido como "Ubicación" que tiene la dirección del nuevo lugar al que ir. Sin embargo, los navegadores siempre envían una solicitud "GET" a esa URL. Sin embargo,...

161
Maneras elegantes de manejar si (si no) más

Esta es una queja menor, pero cada vez que tengo que codificar algo como esto, la repetición me molesta, pero no estoy seguro de que ninguna de las soluciones sea peor. if(FileExists(file)) { contents = OpenFile(file); // <-- prevents inclusion in if if(SomeTest(contents)) {...

160
¿Qué hay de malo con las referencias circulares?

Estuve involucrado en una discusión de programación hoy donde hice algunas declaraciones que básicamente asumían axiomáticamente que las referencias circulares (entre módulos, clases, lo que sea) son generalmente malas. Una vez que terminé con mi discurso, mi compañero de trabajo preguntó: "¿qué...