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

User Tools

Site Tools


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

Link to this comparison view

teaching:labs:xp:2004b:talktypeconstraints [2018/05/09 01:59] (current)
Line 1: Line 1:
 +=====  Daniel'​s [[talks|Talk]] about Type Constraints =====
 +====  How to find out, if you might like this talk  ====
 +  * Have a look at the paper listed bellow. You might find it hard to understand. But it's interesting. So if you want to give it a chance I suggest the follwing steps:
 +  * Examine the example code on the slides or in the paper.
 +  * Do you understand why the usage of the interface is not possible in some places? (Hint: fields are accessed or methods are called which are not part of the interface)
 +  * Do you understand, why prohibition to use the interface might imply the prohibition at another place? (Hint: e.g. assignments)
 +  * If you understood these two things look at the figure 3 in the paper. Realize that this is a formal description of what you allready understood. Can you see this?
 +====  Suggested structure ====
 +  * Explain the List/Bag example for Extract Interface
 +  * Explain how type constraints prohibit the use of more general types in some places
 +    * Origins of the prohibitions
 +    * Propagation of them 
 +  * Be prepared to guide us through figure 3
 +  * Explain how the set of "bad declarations"​ is calculated.
 +  * (Explain how this theory extends to the refactoring "Pull Up Members",​ Chapter 4)
 +====  Resources: ​ ====
 +  * Frank Tip, Adam Kiezun, and Dirk Bäumer: [[http://​​pubs/​refactoring-tip-ecoop2003-abstract.html|Refactoring for generalization using type constraints ]]. In Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 2003), (Anaheim, CA, USA), November 6-8, 2003, pp. 13-26.
 +  * Chapter 2 and 3 of some [[http://​​~speicher/​protected/​JTransformer.ExtractInterface.ppt|slides]] Daniel prepared about this paper.
 +  * You may test this refactorings in Eclipse: Extract Interface, Use General Type Where Possible
teaching/labs/xp/2004b/talktypeconstraints.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2020