[GUÍA] Estrategias de programación
Hola que tal chavales. Andaba yo picando código, cuando, como de vez en cuando me ha surgido una pregunta interna que seguro muchas veces se os ha ocurrido a vosotros también, y está relacionado con las estrategias de programación. Es decir, como debería ser un bloque de código ya sea por optimización, legibilidad, mantenimiento, extensibilidad, etc,
Por poner un ejemplo bastante sencillo:
Romper ejecución de un bloque
private openToEditForm (row: Object) {
if (!row) {
this.messagePopup.openMessagePopup('Select one table row', 'error', 'To edit first select table row');
return;
}
this.createForm.setValue(row);
this.createForm['toedit'] = true;
this.createForm['visible'] = true;
}
¿Es correcto romper el condicional de esa manera?, ¿es mejor opción usar el condicional entero con su if..else..?, ¿debería romperse la ejecución usando return?, ¿debería existir este return sin tiparlo?.
CONCEPTO
Entonces mas o menos propongo este concepto a la idea que se me ha venido a la mente y de esta manera, quizás tener una referencia rápida en nuestra querida media vida de buenas prácticas de implementación. Obviamente se que hay libros muy buenos de lectura como Clean Code y personas que se dedican a esta labor como Papa. Vamos al lío pues.
El concepto sería el siguiente. Cada lenguaje es un mundo y por lo tanto, lo que en un lenguaje puede estar bien en términos de optimización, en otro puede no serlo, por ello es importante exponer el lenguaje del que estamos tratando. Por otro lado ya solo creo que nos faltaría el código a analizar.
DINÁMICA
La dinámica que propongo es: crear un nuevo post con el código a analizar, exponer también el lenguaje de programación como he mencionado anteriormente y los post que se refieran a el vayan siempre a través del linkado de mediavida #, para de este modo poder encontrar fácilmente las soluciones propuestas y encontrar una definitiva. Obviamente ni que decir queda, que se pueden poner referencias a otras personas o blogs donde se hable del tema.
ESTRATEGIAS EXPUESTAS
Romper ejecución de if..else con return - TypeScript
Inicialización de variables en clases - TypeScript
Gestionar idiomas en aplicación distribuida - Todos