Abstract: The process or technique of Code Re-factoring is restructuring the existing source code by making changes in factoring without any changes in external behaviour. The main intention of re-factoring is to improve non-functional attributes of the software. The advantages include improving the code readability and reducing the complexity of any given source code, and these can overall enhance code maintainability and produce a much more elaborated internal architecture or objectoriented model to boost the extensibility of the code. The effect that re-factoring has on any software project is analysable and customisable. But, before customising the factoring techniques, it is essential to have a complete knowledge of all possible refactoring techniques, and all its possible effects. Our main focus will be on few main re-factoring techniques like Red-Green refactoring, preparatory re-factoring, Abstraction re-factoring, composing methods re-factoring etc. Every software project has both internal and external attributes, that highly influence the software’s maintainability, reusability, understandability, flexibility, testability, extensibility, reliability, efficiency, modularity, complexity and composition. The research mainly focuses on the effect of re-factoring on them. Study of researched data will give us comparative analysis, pointing out both the positive and negative impacts, re-factoring can have. Overall, the project aims to perform an empirical study to find out the impacts of refactoring techniques. The research aims to explore the change in the quality of the code after re-factoring. Improvement, decrement and stability are analysed. Study is also done to find the possibilities of applying more than one re-factoring techniques, independently or in an aggregation. Keywords: maintainability; extensibility; reliability; modularity