¿Qué es la refactorización y la programación de pares?

Refactorización

Esta es la práctica de reescribir el código para mejorar algunas de sus características. Una refactorización simple podría ser cambiar un poco de código de usar un bucle for a usar un iterador forEach. Una refactorización mucho más grande podría implicar cambiar un sistema de usar una base de datos relacional a hacer uso de una base de datos distribuida de clave-valor. O cambiar un sistema de un enfoque de procesamiento por lotes a una arquitectura de transmisión en tiempo real. Se puede refactorizar para simplificar, mejorar la capacidad de prueba, aumentar el rendimiento o reducir la latencia, mejorar la seguridad, etc. La refactorización debe aplicarse cuidadosamente ya que los ingenieros a menudo se sienten obligados a refactorizar el código que no necesita ser refactorizado de inmediato, y los grandes cambios en las bases de código a menudo pueden desestabilizar o hacer retroceder los sistemas. Es muy divertido, muy gratificante, pero también una práctica muy desafiante.

Programación en pareja

Esta es la práctica de tener dos ingenieros de software trabajando juntos en una sola tarea. La idea es combinar la suma combinada de sus conocimientos, alentarlos y desafiarse mutuamente, aumentar el intercambio de conocimientos y reducir los defectos. Es una práctica excelente.

HTH.

More Interesting

Cómo llegar a codificar por diversión

¿Qué tan importante es que Capgemini adquirió IGATE? Como empleado de IGATE (el año pasado pasó a trabajar como ingeniero de software), ¿hay alguna razón para estar entusiasmado?

Ingeniería de software: ¿Cómo demostraría explícitamente RAII (La adquisición de recursos es la inicialización) en el idioma que elija?

¿Necesito un software antivirus aunque sea un ingeniero de software y conozca las técnicas básicas de pesca / piratería?

¿Cuáles son los desafíos de establecer una unidad de desarrollo de software en Indore?

¿Qué habilidades te ofrece una licenciatura en Sistemas Simbólicos de Stanford?

¿Cómo puede alguien que no tiene experiencia en informática convertirse en un probador de software?

¿Cuál es la diferencia entre un servidor HTTP simple y algo como Apache o NGINX?

¿Cómo se ponen al día los nuevos desarrolladores en los proyectos existentes en Google?

¿Cuál es el procedimiento para aplicar a las compañías de software mejor clasificadas como Google, Microsoft, Facebook, etc., si soy un graduado de ECE?

Entre los dos, ¿cuál sería el mejor programa, sistemas de información o desarrollo de software?

¿Cuán ampliamente utilizado es Scala en la industria del software?

¿Cuál es el mejor libro para explicar conceptos de diferentes marcos como Spring, Angular, Ruby on Rails, etc.?

¿Cuál es el beneficio de un curso de prueba de software? ¿Qué tal un alcance?

¿Qué otras tiendas de desarrollo y diseño existen además de Thoughtbot, Carbon Five, Pivotal Labs y Originate?