On Tuesday, 9 April 2013 00:05:35 UTC+8, michael holzer wrote:
>
>
> And now to the part that will be hopefully of broader interest for every 
> Clojure user: 
> What do you expect from a refactoring library or from an IDE providing 
> refactoring tools? 
>

There are a bunch of operations that would be very useful to support: 
rename var, fix namespace aliases etc. all the usual stuff.

But more important than the actual refactoring operations are IMHO the 
warnings that the IDE provides. Refactoring activity often causes you to 
break previously true assumptions (e.g. changing the arity of a function by 
adding a new parameter, or changing the type of a parameter). Automatically 
detecting these and providing a warning would be a huge boost to 
productivity: Otherwise you will only detect the problem when something 
fails at runtime / test time and you might get left with a particularly 
nasty stack trace to debug.

I wrote a bit more on this topic in an old blog post you may find 
interesting:
http://clojurefun.wordpress.com/2012/09/06/something-i-still-love-about-java/

Apart from that, I think there is some interesting Clojure specific 
refactoring you might do, e.g. warn on unidiomatic style and offer 
conversion to a better alternative. I'm thinking of things like:

(let [a (some-condition)] (if a (do .......)))
=> 
(when-let [a (some-condition)] ......)

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to