Re: Class level Refactorings

fawad qayum <[email protected]> Fri, 14 Jan 2011 05:48:57 -0800 (PST)
Newsgroups gmane.comp.programming.refactoring
Message-ID <[email protected]>
Dear Adam Sroka,

Thanks for your informative reply. I went through the Refactoring Catalogue and 
also read some papers. I found the below list of refactoring, which can apply at 
the level of class diagram. 


Extract Class
Inline Class
Move attribute
Pullup attribute 
Pushdown Attribute
Move Method
Pullup Method
Pushdown Method
Extract super Class
Collapse Heirarchy
Extract Subclass
Replace Inheritance with delegation
Replace delegation with inheritance

I was wondering that how much in detailed, i will need the Class model in order 
to apply the above mentioned refactorings.
I will really apprecaite, if you could me some suggections.

 
Fawad Qayum


________________________________
From: Adam Sroka <[email protected]>
To: [email protected]
Sent: Thu, January 13, 2011 12:41:01 AM
Subject: Re: [refactoring] Class level Refactorings

Some refactorings are internal to the class, meaning that the structure
represented in a UML diagram wouldn't change (maybe just the names of some
things changed.) Other refactorings might move members from one class to
another or up or down the inheritance hierarchy. Or, they could introduce
new classes or eliminate a class and move its members to other classes.

Many of the refactorings described in Martin Fowler's book had UML class
diagrams depicting their structure. Some of these are reproduced online (
http://refactoring.com/catalog/index.html).

However, the point of refactoring is to create structural changes that are
behavior preserving. There isn't really any way to tell from a class diagram
that behavior has or has not been preserved. You need to see the code to
figure out whether it was really refactoring or some other structural
change.

On Wed, Jan 12, 2011 at 2:04 PM, fawad qayum <[email protected]> wrote:

>
>
> Hi everybody,
> I am interested to apply refactoring at the level of Class diagram
> representing
> Object Oreinted system. Can anybody tell me that which refactoring can be
> applied at the Class level.
>
> Thanks
>
> Regards
>
> Fawad
>
> ________________________________
> From: Danny Dig <[email protected] <dannydig%40gmail.com>>
> To: [email protected] <refactoring%40yahoogroups.com>
> Sent: Fri, December 3, 2010 8:28:16 PM
> Subject: [refactoring] Call for Submissions: Fourth Workshop on Refactoring
>
> Tools
>
>
> CALL for SUBMISSIONS
>
> 4th Workshop on Refactoring Tools
> http://refactoring.info/WRT11
> May 22, 2011
> in conjunction with ICSE'11
> Honolulu, Hawaii
>
> IMPORTANT DATES:
>
> - Submission deadline: Jan 30, 2011
> - Notification of Acceptance: Feb 28, 2011
> - Camera Ready: March 10, 2011
> - Workshop date: May 22, 2011
>
> MOTIVATION
>
> Refactoring is the process of applying behavior-preserving transformations
> to a
> program with the objective of improving the program's design. A specific
> refactoring is identified by a name (e.g., Extract Method), a set of
> preconditions, and a set of specific transformations that need to be
> performed.
> Tool support for refactoring is highly desirable because checking the
> preconditions for a given refactoring often requires nontrivial program
> analysis, and applying the transformations may affect many locations
> throughout
> a program. In recent years, the emergence of light-weight programming
> methodologies such as Extreme Programming has generated a great amount of
> interest in refactoring, and refactoring support has become a required
> feature
> in modern-day IDEs. Until recently, there has not been a suitable forum for
> discussions among researchers and developers of such tools. Our prior
> refactoring tools workshops (at ECOOP 2007, then at OOPSLA 2008, OOPSLA
> 2009)
> clearly met a need, and there was strong interest expressed in holding a
> follow-on workshop.
>
> We invite developers and researchers in the field of refactoring to submit
> presentations and demonstration proposals about practical refactoring
> tools.
>
> GOALS
>
> While there is a great deal of interest in developing tool support for
> refactoring, researchers and tool vendors rarely work together.
>
> This forum will enable the transfer of ideas and expertise both ways:
>
> - researchers can show the state-of-the-art analyses they are using in
> developing tool support for refactoring,
> - tool vendors can offer valuable insights on the challenges of scaling
> such analyses to realistic applications.
>
> By bringing together researchers and tool vendors:
>
> - We can shorten the time to embody ideas into production systems.
> - In addition, by making researchers aware of what others are working
> on, the potential for reinventing the wheel is reduced while the
> potential for creative collaboration is enhanced.
>
> This workshop is the next step in our ongoing effort to create such a
> community, building on our successful refactoring workshops at ECOOP'07,
> OOPSLA'08, and OOPSLA'09.
>
> Potential topics are those related to refactoring tools including, but not
> restricted to:
> - refactoring engines
> - improving the usability of existing refactoring engines
> - tool performance
> - efficient representation of source models
> - program analyses for refactoring tools
> - tools for detecting applied refactorings
> - tools for suggesting refactorings (e.g., using code-smell detection)
> - testing and verification of refactoring tools
> - language-independent analysis frameworks and analytical representations
> - language-independent transformation frameworks
> - language-independent refactoring tools
> - refactoring tools for non-OO languages (e.g., functional languages,
> MDE, legacy languages)
> - composition and scripting of refactorings
> - medium- and large-scale refactorings (e.g., package- or component-level)
> - refactoring for concurrency and parallelism
>
> ORGANIZATIONAL DETAILS
>
> Prospective participants in this workshop are encouraged to submit (i)
> 4-page
> position papers about new or emerging ideas, or (ii) 8-page full papers
> about
> prototypes that have preliminary results. We also encourage developers of
> widely used refactoring tools (e.g., Eclipse, NetBeans, IntelliJ,
> Visual Studio) to submit a demonstration proposal about their systems, or
> present upcoming features. Based on submissions, the schedule will include
> a mix of system demonstrations, short presentations, panel discussions and
> informal discussions. Proceedings will appear in the ACM Digital Library
> and
> also be available on the ICSE USB stick.
>
> ORGANIZERS:
>
> - Danny Dig, University of Illinois at Urbana-Champaign, USA (main contact)
> - Don Batory, University of Texas at Austin, USA
>
> PROGRAM COMMITTEE MEMBERS:
> - Don Batory, University of Texas at Austin, USA, (co-chair)
> - Ira Baxter, Semantic Designs, USA
> - Jan Becicka, Oracle/NetBeans, Czek Republic
> - Danny Dig, University of Illinois, USA, (co-chair)
> - Bob Fuhrer, IBM TJ Watson, USA
> - Bill Griswold, University of California - San Diego, USA
> - Dmitry Jemerov, JetBrains/ IntellijIDEA, Russia, pending response
> - Ralph Johnson, University of Illinois, USA
> - Joshua Kerievsky, Industrial Logic, USA
> - Miryung Kim, University of Texas at Austin, USA
> - Radu Marinescu, Politechnics University of Timisora, Romania
> - Emerson Murphy-Hill, North Carolina State University, USA
> - David Notkin, University of Washington, USA
> - Bill Opdyke, Motorola, USA
> - Kevin Pilch-Bisson, Microsoft/ Visual Studio, USA
> - Don Roberts, University of Evansville, pending response
> - Max Schaefer, Oxford University Computing Laboratory, UK
> - Frank Tip, IBM TJ Watson, USA
> - Jan Wloka, IBM Zurich/ Eclipse, Switzerland
>
> MORE INFORMATION
>
> Visit workshop's homepage at:
> http://refactoring.info/WRT11
>
> --
> Visiting Research Assistant Professor at UIUC,
> Danny Dig's homepage: http://netfiles.uiuc.edu/dig/www
>
> Motto: "Success is not for the chosen few but for the few who choose"
>
> [Non-text portions of this message have been removed]
>
>  
>


[Non-text portions of this message have been removed]



------------------------------------

Yahoo! Groups Links




      

[Non-text portions of this message have been removed]



------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/refactoring/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/refactoring/join
    (Yahoo! ID required)

<*> To change settings via email:
    [email protected] 
    [email protected]

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/