SDA SE Wiki

Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

teaching:labs:xp:2004b:bigpicturerefactor [2018/05/09 01:59] (current)
Line 1: Line 1:
  
 +^{{pic.underconstruction.gif}}|The whole page is under construction| ​
 +
 +
 +
 +
 +
 +The most demanding point: Improving the design by refactoring the code. 
 +It would be great if we were able to produce some refactorings.
 +
 +
 +
 +
 +
 +
 +
 +Text will follow. ​
 +
 +
 +
 +Mention paper. Explain //​Conversational Refatoring//​.
 +
 +
 +
 +
 +
 +
 +
 +Pulling back Metrics!
 +
 +
 +
 +
 +
 +
 +====  Really big refactorings ====
 +
 +  * Tease apart inheritance
 +    * Extract Class, Move Feature, Introduce Strategy
 +    * Related Metrics: LCOM2, Inheritance Metrics
 +  * Break dependency circles by the DIP
 +    * Extract Interface, Use General Type Where Possible, Introduce Observer
 +    * Related Analyzers: Dependency circles, Declaration Generalizability
 +    * Related Theory: Type constraints
 +  * Improving complexity by extracting methods
 +    * Related Metrics: Cyclomatic Complexity, Length of Methods
 +    * Related theory: Programm slicing.
 +  * Introduce Interface Segregation Principle ISP 
 +    * (Probably we should a simple metric directly designed for this. Percentage of public methods of the server that is used by a certain client. Maybe similar to our Test related Detectors.)
teaching/labs/xp/2004b/bigpicturerefactor.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2020