{"title":"将方面重构为Java代码","authors":"M. Kleyman, S. Tyszberowicz, A. Yehudai","doi":"10.1109/SwSTE.2007.7","DOIUrl":null,"url":null,"abstract":"One of the principles of the agile development methodology is to \"welcome changing requirements even late in development\". Refactoring is a major technique used to cope with changes. It enables to reorganize code while preserving the external behavior. Several refactorings can be performed automatically. Aspect oriented programming (AOP) is a powerful technology that greatly improves programmer's ability to quickly introduce changes to a software system. AOP enables easily modifying behavior of numerous locations in the system code or adding new behavior. AOP is perceived by some people not to be mature enough; hence they avoid using it in production software. We have developed ACME, a prototype tool that implements a refactoring process for aspects. ACME enables a developer to convert AspectJ code to pure Java code according to conversion patterns. The available patterns are creating a singleton class from an aspect and merging aspects into existing classes. The tool creates modular and readable object-oriented code. This paper presents ACME functionality using example transformations and discusses the tool's applicability and decisions made during its design.","PeriodicalId":264571,"journal":{"name":"IEEE International Conference on Software-Science, Technology & Engineering (SwSTE'07)","volume":"55 2","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2007-11-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Refactoring Aspects into Java Code\",\"authors\":\"M. Kleyman, S. Tyszberowicz, A. Yehudai\",\"doi\":\"10.1109/SwSTE.2007.7\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"One of the principles of the agile development methodology is to \\\"welcome changing requirements even late in development\\\". Refactoring is a major technique used to cope with changes. It enables to reorganize code while preserving the external behavior. Several refactorings can be performed automatically. Aspect oriented programming (AOP) is a powerful technology that greatly improves programmer's ability to quickly introduce changes to a software system. AOP enables easily modifying behavior of numerous locations in the system code or adding new behavior. AOP is perceived by some people not to be mature enough; hence they avoid using it in production software. We have developed ACME, a prototype tool that implements a refactoring process for aspects. ACME enables a developer to convert AspectJ code to pure Java code according to conversion patterns. The available patterns are creating a singleton class from an aspect and merging aspects into existing classes. The tool creates modular and readable object-oriented code. This paper presents ACME functionality using example transformations and discusses the tool's applicability and decisions made during its design.\",\"PeriodicalId\":264571,\"journal\":{\"name\":\"IEEE International Conference on Software-Science, Technology & Engineering (SwSTE'07)\",\"volume\":\"55 2\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2007-11-19\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"IEEE International Conference on Software-Science, Technology & Engineering (SwSTE'07)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/SwSTE.2007.7\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"IEEE International Conference on Software-Science, Technology & Engineering (SwSTE'07)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SwSTE.2007.7","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
One of the principles of the agile development methodology is to "welcome changing requirements even late in development". Refactoring is a major technique used to cope with changes. It enables to reorganize code while preserving the external behavior. Several refactorings can be performed automatically. Aspect oriented programming (AOP) is a powerful technology that greatly improves programmer's ability to quickly introduce changes to a software system. AOP enables easily modifying behavior of numerous locations in the system code or adding new behavior. AOP is perceived by some people not to be mature enough; hence they avoid using it in production software. We have developed ACME, a prototype tool that implements a refactoring process for aspects. ACME enables a developer to convert AspectJ code to pure Java code according to conversion patterns. The available patterns are creating a singleton class from an aspect and merging aspects into existing classes. The tool creates modular and readable object-oriented code. This paper presents ACME functionality using example transformations and discusses the tool's applicability and decisions made during its design.