Ingeniería de software

9
Análisis léxico sin expresiones regulares

He estado viendo algunos lexers en varios idiomas de nivel superior ( Python , PHP , Javascript , entre otros) y todos parecen usar expresiones regulares de una forma u otra. Si bien estoy seguro de que las expresiones regulares son probablemente la mejor manera de hacer esto, me preguntaba si...

9
Comprender el acoplamiento flojo / apretado en el "mundo real"

No diré qué "comunidad" porque quiero una explicación no sesgada, pero digamos que está creando un módulo reutilizable y ese módulo requiere más de 3 módulos dependientes y eliminar 1 de ellos causa un error de ruptura no solo en su aplicación como entero que usa este módulo, pero el módulo en...

9
¿Es importante que una solución sea eficiente?

Resuelvo muchos problemas, principalmente de Top Coder. Recibiré respuestas para muchos, pero la mayoría de las veces termino con una solución ineficiente. En implementaciones del mundo real, ¿realmente importa que una solución al problema sea eficiente? Si es así, ¿cómo puedo...

9
Cómo responder "¿Cuándo se hará?"

Todos lo tenemos, problemas que resultan difíciles de solucionar y resolver una solución a través de un código oscuro y una extraña funcionalidad inesperada. Lentamente, trabaje lógicamente para encontrar patrones, errores, errores. Este proceso lleva tiempo y el cliente a menudo no comprende...

9
Comprobando si un método devuelve falso: ¿asignar el resultado a la variable temporal o poner la invocación del método directamente en condicional?

¿Es una buena práctica llamar a un método que devuelve valores verdaderos o falsos en una declaración if? Algo como esto: private void VerifyAccount() { if (!ValidateCredentials(txtUser.Text, txtPassword.Text)) { MessageBox.Show("Invalid user name or password"); } } private bool...