Quite often my experience when learning a new language is "Am I doing this right? Or even close to right?"
If kibit can turn your code into idiomatic Clojure then you have a tool for exploring your solutions and how close they look to Clojure as it might be written by a native.
It can also prompt questions "Why do it this way rather than this way?" which could be a good learning opportunity.
I think it would only be good if its used as a learning tool and not a code-writing tool, compare:
write the best code you can -> run kibit -> spend an hour reading the docs and every blog post you can find about a feature you didn't know about -> repeat
write the best code you can -> run kibit -> show off your awesome code, you're a rockstar!
I agree with you although I think that's an unlikely scenario.
kibit, so far as I understand it, is a pattern matching solution that can replace one structure with another - more idiomatic - structure. It doesn't add anything and, hence, can't actually solve your problems for you.
Comments
I cannot see any problem with using kibit.
Quite often my experience when learning a new language is "Am I doing this right? Or even close to right?"
If kibit can turn your code into idiomatic Clojure then you have a tool for exploring your solutions and how close they look to Clojure as it might be written by a native.
It can also prompt questions "Why do it this way rather than this way?" which could be a good learning opportunity.
I see no harm, only benefit.
Matt
I think it would only be good if its used as a learning tool and not a code-writing tool, compare:
write the best code you can -> run kibit -> spend an hour reading the docs and every blog post you can find about a feature you didn't know about -> repeat
write the best code you can -> run kibit -> show off your awesome code, you're a rockstar!
I agree with you although I think that's an unlikely scenario.
kibit, so far as I understand it, is a pattern matching solution that can replace one structure with another - more idiomatic - structure. It doesn't add anything and, hence, can't actually solve your problems for you.
Well, the problem comes up when it gives you proposals that are not equivalent, because it doesn't understand macros and/or local scope :)