Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ReSharper: Can it stand in as a co-programmer? [closed]

Tags:

resharper

The comments here got me thinking. If you are a new Developer without a mentor and no one to collaborate on for your projects; can a tool, ReSharper in this case, stand in that capacity? Does it need another tool or process, system or human, to accomplish this.

I am in no position to get a fellow dev soon and I fear StackOverFlow will BAN me long before I run out of ignorant questions. In my case can tools like ReSharper, StyleCop, ReFlector make a significant difference.

In ReSharpers case does the refactoring capabilities really pan out from the learning perspective or is it simply *poof* your code is better with little chance of gaining understanding as to WHY I should have extracted that method stub?

I desperately want to get to the point where I am capable of answering as many questions here as I ask.

Have a blessed day and thank you for your time.


EDIT based on answers so far:

So if the answer is No, it does not accomplish these things and I will not be getting a real human anytime soon can anyone offer alternatives?

Thank You!

like image 462
Refracted Paladin Avatar asked Feb 12 '09 21:02

Refracted Paladin


2 Answers

Well, it doesn't help you to write smarter or better designed code. But it certainly helps you clean up messy code and helps you with sticking to some best practices. However you should be aware that some settings are not good by default. For example it gives me hints about how I could use 'var' instead of its real type. I do not consider that appropriate in many situations.

What you can do is use resharper in combination with fxcop for example. That way it keeps your style clean. For other mentoring types of things I would recommend a copy of 'clean code' by 'Uncle bob'. That book gets you really thinking about what functions should do.

Then you should get into architecture and read some documentation about it. There are no tools which can check if you did those things properly.

A mentor will still be the best way to improve your code, but resharper and fxcop will enable you to write your code a little bit more clean and based on conventions. So when seniors check your code it is one thing less they will say 'WTF' about :)

like image 83
TomHastjarjanto Avatar answered Oct 11 '22 13:10

TomHastjarjanto


I would say no. ReSharper will often give you the option of changing something (e.g. "invoke as extension method") and then if you accept it, it'll give you the option of changing it back.

That's great when you know that you want to change the code, but it doesn't give much of an idea of why you want to change it. There are some suggestions which are more "obviously good" but it's a long way from having a mentor.

Don't get me wrong: ReSharper is a wonderful tool and it will probably save you a lot of time, but it probably won't refine your design and implementation skills. It'll help you follow those skills more quickly.

Don't worry about asking loads of questions here though - we love it :)

like image 40
Jon Skeet Avatar answered Oct 11 '22 12:10

Jon Skeet