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

User Tools

Site Tools

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