fbpx
Wikipedia

Reescritura (programación)


Una reescritura en la programación de computadoras es el acto o resultado de volver a implementar una gran parte de la funcionalidad existente sin reutilizar su código fuente. Cuando la reescritura no usa código existente en absoluto, es común hablar de una reescritura desde cero .

Motivaciones

Por lo general, una pieza de software se reescribe cuando se da uno o más de los siguientes puntos:

  • su código fuente no está disponible o solo está disponible con una licencia incompatible
  • su código no se puede adaptar a una nueva plataforma de destino
  • su código existente se ha vuelto demasiado difícil de manejar y extender
  • la tarea de depurar parece demasiado complicada
  • el programador tiene dificultades para entender el código fuente de la aplicación
  • los desarrolladores aprenden nuevas técnicas o desean hacer una gran revisión de funciones que requiere muchos cambios
  • los desarrolladores desean intentar nuevas soluciones a los problemas previos.
  • el lenguaje de programación del código fuente debe cambiarse

Riesgos

Varios ingenieros de software, como Joel Spolsky [1]​ han advertido contra las reescrituras totales, especialmente bajo restricciones de programación o presiones competitivas. Si bien los desarrolladores pueden agradecer inicialmente la oportunidad de corregir errores de diseño históricos, una reescritura también descarta aquellas partes del diseño que funcionan según sea necesario. Una reescritura compromete al equipo de desarrollo a entregar no solo nuevas características, sino todas las que existen en el código anterior, mientras que potencialmente introduce nuevos errores o regresiones de errores previamente corregidos.[2][3]​ Una reescritura también interfiere con el seguimiento de errores no corregidos en la versión anterior.[4]

Un enfoque alternativo es la reescritura incremental, en el que los desarrolladores reemplazan gradualmente el código existente con llamadas a una nueva implementación, expandiendo esa implementación hasta que reemplaza completamente a la anterior. Este enfoque evita una gran pérdida de funcionalidad durante la reescritura. La ingeniería de software de sala limpia es otro enfoque, que requiere que el equipo trabaje a partir de una especificación escrita exhaustiva de la funcionalidad del software, sin acceso a su código. [5]

Ver también

Algunos proyectos que mencionan reescrituras importantes en su historia:

Referencias

  1. Spolsky, Joel. «Things You Should Never Do, Part I». Joel on Software. Consultado el 23 de enero de 2015. 
  2. Ronkes Agerbeek, Joost (15 de abril de 2005). . Archivado desde el original el 10 de octubre de 2008. Consultado el 11 de septiembre de 2008. 
  3. Spolsky, Joel (6 de abril de 2000). «Things You Should Never Do». Consultado el 11 de septiembre de 2008. 
  4. Zawinski, Jamie. «Cascade of Attention-Deficit Teenagers». Consultado el 11 de septiembre de 2008. 
  5. Tilly, Ben (29 de septiembre de 2001). «Rewriting, from scratch, a huge code base». Consultado el 11 de septiembre de 2008. 

Enlaces externos

  • RewriteCodeFromScratch en C2 Wiki
  • Cosas que nunca debes hacer, parte I de Joel Spolsky

reescritura, programación, reescritura, programación, computadoras, acto, resultado, volver, implementar, gran, parte, funcionalidad, existente, reutilizar, código, fuente, cuando, reescritura, código, existente, absoluto, común, hablar, reescritura, desde, ce. Una reescritura en la programacion de computadoras es el acto o resultado de volver a implementar una gran parte de la funcionalidad existente sin reutilizar su codigo fuente Cuando la reescritura no usa codigo existente en absoluto es comun hablar de una reescritura desde cero Indice 1 Motivaciones 2 Riesgos 3 Ver tambien 4 Referencias 5 Enlaces externosMotivaciones EditarPor lo general una pieza de software se reescribe cuando se da uno o mas de los siguientes puntos su codigo fuente no esta disponible o solo esta disponible con una licencia incompatible su codigo no se puede adaptar a una nueva plataforma de destino su codigo existente se ha vuelto demasiado dificil de manejar y extender la tarea de depurar parece demasiado complicada el programador tiene dificultades para entender el codigo fuente de la aplicacion los desarrolladores aprenden nuevas tecnicas o desean hacer una gran revision de funciones que requiere muchos cambios los desarrolladores desean intentar nuevas soluciones a los problemas previos el lenguaje de programacion del codigo fuente debe cambiarseRiesgos EditarVarios ingenieros de software como Joel Spolsky 1 han advertido contra las reescrituras totales especialmente bajo restricciones de programacion o presiones competitivas Si bien los desarrolladores pueden agradecer inicialmente la oportunidad de corregir errores de diseno historicos una reescritura tambien descarta aquellas partes del diseno que funcionan segun sea necesario Una reescritura compromete al equipo de desarrollo a entregar no solo nuevas caracteristicas sino todas las que existen en el codigo anterior mientras que potencialmente introduce nuevos errores o regresiones de errores previamente corregidos 2 3 Una reescritura tambien interfiere con el seguimiento de errores no corregidos en la version anterior 4 Un enfoque alternativo es la reescritura incremental en el que los desarrolladores reemplazan gradualmente el codigo existente con llamadas a una nueva implementacion expandiendo esa implementacion hasta que reemplaza completamente a la anterior Este enfoque evita una gran perdida de funcionalidad durante la reescritura La ingenieria de software de sala limpia es otro enfoque que requiere que el equipo trabaje a partir de una especificacion escrita exhaustiva de la funcionalidad del software sin acceso a su codigo 5 Ver tambien EditarRefactorizacion de codigo Desarrollo de software de codigo abierto Deuda tecnica Infierno de desarrolloAlgunos proyectos que mencionan reescrituras importantes en su historia Apache HTTP Server 1 AOL Instant Messenger 1 BIND 1 Freenet 1 Fusebox 2 GRUB 1 Majordomo 1 MediaWiki 1 Mozilla Netscape 1 Icecast 0 1 netcat 1 OpenRPG 1 PHP 1 2 Project Xanadu 0 1 Sun Secure Global Desktop 1 vBulletin 2 WebObjects 1 Zope 1 Referencias Editar Spolsky Joel Things You Should Never Do Part I Joel on Software Consultado el 23 de enero de 2015 Ronkes Agerbeek Joost 15 de abril de 2005 Never Rewrite Code From Scratch Archivado desde el original el 10 de octubre de 2008 Consultado el 11 de septiembre de 2008 Spolsky Joel 6 de abril de 2000 Things You Should Never Do Consultado el 11 de septiembre de 2008 Zawinski Jamie Cascade of Attention Deficit Teenagers Consultado el 11 de septiembre de 2008 Tilly Ben 29 de septiembre de 2001 Rewriting from scratch a huge code base Consultado el 11 de septiembre de 2008 Enlaces externos EditarRewriteCodeFromScratch en C2 Wiki Cosas que nunca debes hacer parte I de Joel SpolskyObtenido de https es wikipedia org w index php title Reescritura programacion amp oldid 131618257, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos