Font Size: a A A

The Use Of Code Refactoring In EGL Project

Posted on:2010-02-02Degree:MasterType:Thesis
Country:ChinaCandidate:Z Q DengFull Text:PDF
GTID:2178360302466122Subject:Software engineering
Abstract/Summary:PDF Full Text Request
The word"Refactoring"came from construction business and it was brought to use in software developing line by several outstanding software engineers later. Being a experienced software engineer, main job reference are reading and compile codes. Wring the codes are very important for it will ensure the quality of the system setting. And if the codes can be written as formal and beautiful, it will help to have a nice system. But this job can't be done at one time. The theory and method of refactoring in fact can provide a effective way to improve the codes quality. And the new system programmer can be trained to know the rules of the refactoring and master the use of it. Of all the languages used in refactoring, JAVA is the most important language which will be used often.EGL is the newest module of IBM WebSphere Studio( begin at version WebSphere Studio Site Developer 5.1.2), and it can be regarded as the forth generation of the CSP(stride-system product), VisualAge ? & Informix? etc. This language is similar to COBOL. The difference was shown in the source of it came from JAVA language program and the concept to object .EGL is mainly used in IBM big project and the most it is in a wide range use in bank finance system. This object put more reserve in the oldest bank finance system which has a long maintenance period and the documents is 5000, total code line are over 10million and of which EGL/JAVA language was used. Many programs of them have been set up for over 5 years and some of they are over 10 years. From view of maintenance, there are 30thousand function points in a year–that is around 1300 per people per month. It has included the new inquiries which are raised for the developing and maintenance. From the figures calculation, 60-70 percent was used to maintenance which in a return shows that the refactoring is in great need obviously. This article first researched the theory of refactoring and follow the logic of What Why When How, and in a contrast to the real situation of bank finance system, giving strong definition and solutions of below:1. What is Refactoring(the definition of Refactoring)2. Why we need to refactor the bank finance system codes?3. When will the best hours for refactoring4. How to carry on refactoring in the systemAfter analysis, the reason why we should have refactoring in the system in quite sufficient. The next introduction was given to the specific ways for study. First of all, we study the object codes which are needed to be refactored.We get a the characteristics from the refactoring. And we get 13 charateristics from it1 Duplicated Code2 Long Method3 Large Class4 Divergent Change5 Shotgun Surgery6 Lazy Class7 Speculative Generality8 Temporary Field9 Message Chains10 Middle Man11 Inappropriate Intimacy12 Alternative Classes with Different Interfaces13 Comments too muchThis names are continued to be used from refactoring fields. But the contents have been renamed according to EGL. After we find which codes are needed to be refactored, more analysis are given to refatoring(please refer to chart 1 for odour codes and solution of refactoring)We will get failure if we don't have a quick , intuitionistic testing method during refactoring. So, further study was given to EGL—How to use automatic testing tools in the project. The introduction is given to compiling the JAVA program to EGL program. And JUnit was used to auto-test it which helps to solve a crucial problem.The meaning of the article is to give a very clear idea of refactoring theory and the methods used and the resolution to refactoring and the testing methods. A lot of real case have been used in the article in contrast with experiences. Three man issues are raised:1 Many duplicated codes2 General programs3 Public modulesMain problems which will encounter and the best solution are given in the article. Lots of practice are introduced in this and this is the peculiarity. The functional use of EGL refactoring and Java language give values to study.
Keywords/Search Tags:EGL Refactoring, Bank finance system
PDF Full Text Request
Related items