{"title":"作为生命线的重构:从重构中学到的教训","authors":"Amr Noaman Abdel-Hamid","doi":"10.1109/AGILE.2013.18","DOIUrl":null,"url":null,"abstract":"Refactoring legacy code can be a major impediment for teams transforming to agile due to the high cost of manual regression testing of frequent (typically 2-week) releases. Also, attempts to implement automated tests may involve technical and cost issues. In this report we present a new and more systematic approach to refactoring we have found to be successful for refactoring legacy code that has few (if any) automated tests. This report describes two experiences: one with 3 teams applying a basic and traditional refactoring approach, and another with 2 teams applying the new approach. This new approach helped achieve better results in covering code with tests, involved senior management to retain their support, and achieved better and more sustainable pace of development powered by continuous refactoring techniques.","PeriodicalId":248287,"journal":{"name":"2013 Agile Conference","volume":"52 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-08-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":"{\"title\":\"Refactoring as a Lifeline: Lessons Learned from Refactoring\",\"authors\":\"Amr Noaman Abdel-Hamid\",\"doi\":\"10.1109/AGILE.2013.18\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Refactoring legacy code can be a major impediment for teams transforming to agile due to the high cost of manual regression testing of frequent (typically 2-week) releases. Also, attempts to implement automated tests may involve technical and cost issues. In this report we present a new and more systematic approach to refactoring we have found to be successful for refactoring legacy code that has few (if any) automated tests. This report describes two experiences: one with 3 teams applying a basic and traditional refactoring approach, and another with 2 teams applying the new approach. This new approach helped achieve better results in covering code with tests, involved senior management to retain their support, and achieved better and more sustainable pace of development powered by continuous refactoring techniques.\",\"PeriodicalId\":248287,\"journal\":{\"name\":\"2013 Agile Conference\",\"volume\":\"52 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2013-08-05\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"3\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2013 Agile Conference\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/AGILE.2013.18\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2013 Agile Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/AGILE.2013.18","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Refactoring as a Lifeline: Lessons Learned from Refactoring
Refactoring legacy code can be a major impediment for teams transforming to agile due to the high cost of manual regression testing of frequent (typically 2-week) releases. Also, attempts to implement automated tests may involve technical and cost issues. In this report we present a new and more systematic approach to refactoring we have found to be successful for refactoring legacy code that has few (if any) automated tests. This report describes two experiences: one with 3 teams applying a basic and traditional refactoring approach, and another with 2 teams applying the new approach. This new approach helped achieve better results in covering code with tests, involved senior management to retain their support, and achieved better and more sustainable pace of development powered by continuous refactoring techniques.