Inline Method Considered Helpful: An Approach to Interface Evolution

In: Michele Marchesi, Giancarlo Succi (Hrsg.): Extreme Programming and Agile Processes in Software Engineering, 4th International Conference, XP 2003, Genova, Italy, May 25-29, 2003: Proceedings: Lecture Notes in Computer Science, LNCS 2675, Springer-Verlag, S.271-278, 5/2003

Zusammenfassung

Während Extract Method allgemein als eine der nützlichsten Refactoring-Operationen angesehen wird, ist die umgekehrte Refactoring-Operation Inline Method bisher nur dokumentiert, um Methoden zu entfernen, deren Inhalt so klar ist wie ihr Name. Dieser Artikel zeigt einen Ansatz, wie Inline Method verwendet werden kann, um Methodensignaturen und das Verhalten von Methoden zu ändern. Außerdem erläutert er einen Vorschlag, wie der Ansatz die Evolution veröffentlichter Schnittstellen und das Merging paralleler Quelltextänderungen in der nächsten Generation von Software-Konfigurationsmanagementsystemen vereinfachen kann.

Download

Das Copyright dieses Artikels liegt beim Springer-Verlag (© Springer-Verlag). Download (PDF): http://tammofreese.de/assets/2003/5/27/inline-method-considered-helpful.pdf.

Anmerkungen

Rückblickend hätte ich statt der Bezeichnung Interface Evolution besser die üblichere Bezeichnung API Evolution verwenden sollen.

Software Configuration Management for Test-Driven Development

In: Michele Marchesi, Giancarlo Succi (Hrsg.): Extreme Programming and Agile Processes in Software Engineering, 4th International Conference, XP 2003, Genova, Italy, May 25-29, 2003, Proceedings, Lecture Notes in Computer Science, LNCS 2675, Springer-Verlag, S.431-432, 5/2003

Zusammenfassung

Während die Testgetriebene Entwicklung ein fest etablierter Bestandteil des Extreme Programming ist, gibt es immer noch ungelöste Probleme bei der Entwicklung von Bibliotheken oder in Teamumgebungen. Dieser Artikel beschreibt, wie diese Probleme in einem Software-Konfigurationsmanagementwerkzeug behandelt werden können.

Download

Das Copyright dieses Artikels liegt beim Springer-Verlag (© Springer-Verlag). Download (PDF): http://tammofreese.de/assets/2003/5/28/software-configuration-management-for-test-driven-development.pdf.

Anmerkungen

Einen ausführlicheren Überblick über den Stand meiner Dissertationsforschung in 2003 bietet der Artikel Towards Software Configuration Management for Test-Driven Development.

Der Artikel war für das Ph.D. Symposium der XP 2003 angenommen. Die Präsentation fiel einem grippalen Infekt zum Opfer.

Towards Software Configuration Management for Test-Driven Development

In: Bernhard Westfechtel, André van der Hoek (Hrsg.): Software Configuration Management, ICSE Workshops SCM 2001 and SCM 2003, Toronto, Canada, May 14-15, 2001, and Portland, OR, USA, May 9-10, 2003. Selected Papers, Lecture Notes in Computer Science, LNCS 2649, Springer-Verlag, S.267-273, 5/2003

Zusammenfassung

Testgetriebene Entwicklung ist eine Technik, bei der jede beobachtbare Änderung am Verhalten eines Programms durch einen fehlschlagenden Test motiviert wird. Eine hohe Entwurfsqualität wird mittels ständige kleine Entwurfsverbesserungen, den Refactoring-Operationen, erreicht. Während einige integrierte Entwicklungsumgebungen automatisierte Refactoring-Operationen unterstützen, können sie nicht mit den Problemen umgehen, die sich beim Refactoring in Entwicklungsteams oder von veröffentlichten Schnittstellen ergeben. Dieser Artikel beschreibt die Idee eines spezialisierten Software-Konfigurationsmanagementwerkzeugs, das zur Aufnahme der Schritte der Testgetriebenen Entwicklung als Operationen in eine Entwicklungsumgebung integriert ist. Diese Operationen sind für die Zusammenfassung lokaler Änderungen, für das Merging paralleler Änderungen und für die Migration von Quelltext, der veröffentlichte Schnittstellen verwendet, von Nutzen.

Download

Das Copyright dieses Artikels liegt beim Springer-Verlag (© Springer-Verlag). Download (PDF): http://tammofreese.de/assets/2003/5/9/towards-software-configuration-management-for-test-driven-development.pdf.

Anmerkungen

Dieser Artikel beschreibt den Stand meiner Dissertationsforschung von 2003. In 2005 habe ich mein Forschungsthema auf Refactoring-Unterstützung im Versionsmanagement eingeschränkt. Der Bezug auf die testgetriebene Entwicklung ist weggefallen, da die Testergebnisse nur lokal für einen besseren Überblick über die Entwicklungsschritte dienten, bei den Kernthemen Merging paralleler Änderungen und API Evolution jedoch keine Verwendung fanden.

Rückblickend hätte ich statt der Bezeichnung Changing Published Interfaces besser die üblichere Bezeichnung API Evolution verwenden sollen.