refactoring tools for eiffel 
Author Message
 refactoring tools for eiffel

are there any refactoring tools for eiffel ? so far i have found
dozens for java, but rarely for other languages like eiffel or c++. is
there a deeper reason except that just nobody did it until today ?


Sat, 25 Dec 2004 07:41:43 GMT  
 refactoring tools for eiffel

Quote:

> are there any refactoring tools for eiffel ? so far i have found
> dozens for java, but rarely for other languages like eiffel or c++. is
> there a deeper reason except that just nobody did it until today ?

I am not aware of any.

I think refactoring tools would be quite useful and have their place in
the toolbox.

If there are deeper reasons, perhaps there is less demand for a
refactoring tool because Eiffel allows specifications to be written in
Eiffel, encouraging greater effort at design. Refactoring occurs, of
course, but perhaps the upfront design makes it clearer what to do.

Some levels of refactoring are possible in the ISE (ESI) compiler, V5.
For example, by using the diagram tool, I discovered I had overlooked
inconsistent use of inheritance. I removed the inconsistency with the
tool by deleting and adding inheritance paths.
--
Peter Horan                     School of Computing and Mathematics

+61-3-5227 1234 (Voice)         Geelong, Victoria 3217, AUSTRALIA
+61-3-5227 2028 (FAX)           http://www.cm.deakin.edu.au/~peter

-- The Eiffel guarantee: From specification to implementation
-- (http://www.cetus-links.org/oo_eiffel.html)



Sat, 25 Dec 2004 10:13:07 GMT  
 refactoring tools for eiffel


Quote:

> Some levels of refactoring are possible in the ISE (ESI) compiler, V5.
> For example, by using the diagram tool, I discovered I had overlooked
> inconsistent use of inheritance. I removed the inconsistency with the
> tool by deleting and adding inheritance paths.

Is far as I know diagram tool from EiffelStudio V5 allows to do "Rename
Class" refactoring also("Change class name and generics" button).

I think that refactoring for Eiffel code more difficult(but more interesting
and useful) because of contracts.

Best Regards, Alexey Lapshin



Sat, 25 Dec 2004 19:32:33 GMT  
 refactoring tools for eiffel

Quote:

>are there any refactoring tools for eiffel ? so far i have found
>dozens for java, but rarely for other languages like eiffel or c++. is
>there a deeper reason except that just nobody did it until today ?

Mostly it is because companies are very slow with integrating new
ideas.

And of course there are deeper problems for example it is impossible
to implement refactoring for C++ because this language is not typesafe
- it is quite useless/impossible for scripting languages too.

Eiffel could be a very good base for refactoring tools, and for the
most important refactorings like "Rename Class" and "Rename Feature"
it should be easy. But on the other hand - if you have to keep an eye
on economical topics, then you will see that its not so good to
implement it.



Sat, 25 Dec 2004 23:09:36 GMT  
 refactoring tools for eiffel

Quote:




> > Some levels of refactoring are possible in the ISE (ESI) compiler, V5.
> > For example, by using the diagram tool, I discovered I had overlooked
> > inconsistent use of inheritance. I removed the inconsistency with the
> > tool by deleting and adding inheritance paths.

> Is far as I know diagram tool from EiffelStudio V5 allows to do "Rename
> Class" refactoring also("Change class name and generics" button).

> I think that refactoring for Eiffel code more difficult(but more interesting
> and useful) because of contracts.

I've found the contracts make *correct* refactoring easier, actually.
I've also found Eiffel to be much easier to refactor than C++ (but
then, that doesn't say much.)

Also, some of the discipline that Eiffel enforces or encourages makes
refactoring easier. For example, it's much easier to break up a long
procedure when you know absolutely there's only one exit point.

Greg C



Sun, 26 Dec 2004 02:36:39 GMT  
 refactoring tools for eiffel



Quote:
> > I think that refactoring for Eiffel code more difficult(but more
interesting
> > and useful) because of contracts.

> I've found the contracts make *correct* refactoring easier, actually.
> I've also found Eiffel to be much easier to refactor than C++ (but
> then, that doesn't say much.)

> Also, some of the discipline that Eiffel enforces or encourages makes
> refactoring easier. For example, it's much easier to break up a long
> procedure when you know absolutely there's only one exit point.

I am agree with You that some of the discipline that Eiffel enforces or
encourages makes
refactoring easier. What I meant is that implementation of some refactorings
for eiffel would be more difficult than for Java(for example).

"Move Method"
refactoring(http://www.refactoring.com/catalog/moveMethod.html):

in java it is neccessary to move method definition, move method body,
correct method body.

in eiffel it is neccessary to move method definition, move method body,
correct method body and move contracts. Moving contracts is not very clear
task in general. Is it neccessary to move features that are used in
contracts ? Or is it neccessary to create duplicates for such features in
new class ? Or contracts just should not be copied ? So I think it demands
more work and more thinking to introduce such refactorings in Eiffel
refactoring tool.

Nevertheless, I think that refactoring tool for Eiffel is very essential.

Best Regards, Alexey Lapshin.



Sun, 26 Dec 2004 20:09:16 GMT  
 refactoring tools for eiffel


Quote:
>Eiffel could be a very good base for refactoring tools, and for the
>most important refactorings like "Rename Class" and "Rename Feature"
>it should be easy. But on the other hand - if you have to keep an eye
>on economical topics, then you will see that its not so good to
>implement it.

i don't have experience with the known Smalltalk etc. tools. i only
know the refactoring support in idea/jbuilder for java. how would
such tools work ? i can hardly imagine how to use them if they are
not integrated into a IDE or so.


Mon, 27 Dec 2004 01:36:40 GMT  
 
 [ 7 post ] 

 Relevant Pages 

1. Smalltalk like browsers, refactoring tools for C#/.NET?

2. Refactoring tool for Ruby...

3. Refactoring Tool for Tcl

4. Tools for refactoring code

5. ANNOUNCE: Smalltalk Refactoring Tool

6. Refactoring Browser. VSE Refactoring Browser

7. Eiffel as an OOD/OOP tool

8. EIFAN - New Eiffel Reverse-Engineering Tool

9. New Eiffel Reverse-Engineering Tool

10. Eiffel Workshop at TOOLS Pacific

11. Eiffel for Macintosh (was: Product roll-out at TOOLS USA)

12. International Eiffel Workshop (at TOOLS USA) Final Program

 

 
Powered by phpBB® Forum Software