ReSharper: может ли он стоять в качестве со-программиста? [закрытый]

комментарии здесь заставило меня задуматься. Если вы новый разработчик без наставника и некому сотрудничать для ваших проектов; может инструмент,ReSharper в этом случае, стоять в этом качестве? Нужен ли для этого другой инструмент или процесс, система или человек.

Я не в состоянии получить коллегу dev в ближайшее время, и я боюсь, что StackOverFlow запретит мне задолго до того, как у меня закончатся невежественные вопросы. В моем случае могут инструменты, такие как ReSharper, StyleCop, отражатель сделать значительную разницу.

на ReSharpers случай действительно ли возможности рефакторинга выходят из перспективы обучения или это просто *poof* ваш код лучше с небольшим шансом получить понимание того, почему я должен был извлечь этот заглушку метода?

Я отчаянно хочу добраться до точки, где я способен ответа как много вопросов здесь, как я задаю.

благословенный день и спасибо за ваше время.


редактировать на основе ответов до сих пор:

поэтому, если ответ Нет, он не выполняет эти вещи, и я не получу реальная человека в ближайшее время может ли кто-нибудь предложить альтернативы?

Спасибо!

14 ответов


Ну, это не поможет вам написать умнее или лучше разработанный код. Но это, безусловно, поможет вам очистить грязный код и поможет вам придерживаться некоторых лучших практик. Однако вы должны знать, что некоторые параметры не являются хорошими по умолчанию. Например, он дает мне подсказки о том, как я мог бы использовать " var " вместо его реального типа. Я не считаю это уместным во многих ситуациях.

Что вы можете сделать, это использовать resharper в сочетании с fxcop, например. Что так он держит ваш стиль в чистоте. Для других типов наставничества я бы рекомендовал копию "чистого кода ""дяди Боба". Эта книга заставляет задуматься о том, какие функции следует выполнять.

тогда вы должны войти в архитектуру и прочитать некоторую документацию об этом. Нет инструментов, которые могут проверить, правильно ли вы это сделали.

наставник по-прежнему будет лучшим способом улучшить ваш код, но resharper и fxcop позволят вам немного написать свой код немного более чистый и основанный на конвенциях. Поэтому, когда пожилые люди проверяют ваш код, на одну вещь меньше, они скажут " WTF " о :)


Я бы сказал Нет. ReSharper часто дает вам возможность изменить что-то (например, "вызвать как метод расширения"), а затем, если вы его примете, он даст вам возможность изменить его обратно.

Это здорово, когда вы знаете, что хотите изменить код, но это не дает большого представления о почему вы хотите изменить его. Есть некоторые предложения, которые более "очевидно хороши", но это долгий путь от наставника.

Не поймите меня неправильно: ReSharper-замечательный инструмент, и он, вероятно, сэкономит вам много времени, но это, вероятно,не уточните свои навыки проектирования и реализации. Это поможет вам соблюдать эти навыки быстрее.

Не беспокойтесь о том, чтобы задавать множество вопросов здесь, хотя-нам это нравится:)


ReSharper не является заменой для реального человека.

альтернативы: познакомиться с другими разработчиками, присоединиться к группе пользователей, получить geek обед собирается, код лагерь, сеть.

после того как вы получите небольшую группу вместе, отправиться за пивом и поговорить на некоторое время. Удивительно, чему можно научиться за парой кружек пива.


мое мнение: см. ответ Джона Скита

Если бы resharper мог ответить на вопросы SO, он сказал бы вам то же самое


Я бы сказал, что resharper никогда не заменит опыт другого наставника разработчика, но вы многому научитесь у resharper. Если у вас нет наставника, чтобы учиться, другой инструмент, который научит вас совсем немного, это приложение под названием NDepend. NDepend проанализирует ваш код и сделает предложения по рефакторингу и покажет вам, где вы могли бы сделать некоторые вещи лучше.

Я предлагаю вам работать в связке с обоими инструментами, и вы узнаете некоторые очень ценные уроки! Хороший удачи!


с точки зрения рефакторинга Resharper так же хорош, как и вы. Если вы не знаете, почему вы должны извлечь метод или что-то еще, вы просто сделаете это в неправильных местах и по неправильным причинам. Это не сделает вещи более ремонтопригодными или расширяемыми или любыми другими великими обещаниями. Ты должен знать, что делаешь.


Resharper-отличный инструмент. Когда я впервые начал использовать его, было много вещей, о которых я не знал, что Resharper привлек мое внимание.

после использования его в течение нескольких недель не было ничего нового, чтобы обнаружить. С этого момента она стала инструментом повышения производительности.


ReSharper никогда не сможет заменить профессионала, это отличный инструмент, без сомнения, но мой совет, возьмите себе наставника.


Я согласен со всем сказанным о том, что люди лучше, чем инструменты. Тем не менее: я бы все равно использовал любой статический или динамический инструмент проверки кода, который вы можете наложить руки. Прочитайте каждое предупреждение и попытайтесь понять, почему оно генерируется. Тогда исправь это. Понимание и попытка учиться на первом месте.

также инвестируйте в некоторые книги. Существует длинный список предложений, которые можно найти на SO.


Я немного не согласен со многими ответами здесь. Resharper может помочь вам развить свои навыки программирования. Он часто будет предлагать альтернативы для кода, который вы пишете. Программист все еще должен решить, какая альтернатива лучше, но увидеть альтернативы, а затем исследовать их в интернете может быть отличным инструментом обучения.

этого, конечно, недостаточно. Если вы не можете работать вместе с кем-то на работе, я бы искал людей для сотрудничества в интернете. Начать чтение кода с проекты с открытым исходным кодом, и если вы найдете что-то, что вы думаете, что можете внести свой вклад в это! Это отличный способ получить обратную связь.


Он не сможет быть таким же хорошим, как программист, но он будет намного лучше, чем ничего, особенно если вы новичок в языке. Существует так много плохого кода, и многие из них будут исправлены по крайней мере частично StyleCop/FxCop. Это шаг в правильном направлении.

другое, что я бы попытался принять участие в каком-то небольшом проекте с открытым исходным кодом или, по крайней мере, прочитать какой-то открытый исходный код, чтобы увидеть, как другие люди делают вещи. Вы также можете попробовать посетить пользователя групповые избиения.

для вашего особого случая: я думаю, вы уже намного опережаете среднего разработчика, думая и заботясь о таких вещах и участвуя в таких местах, читая книги и блоги. И если вы единственный разработчик, вам может сойти с рук больше времени, чтобы спроектировать то, что вы строите.

Im в том же положении, что и вы, поэтому я знаю, каково это думать о падении "позади", потому что вы не можете учиться у кого-либо, но это то, что interweb для:) Если мы работаем вместе, мы можем по крайней мере частично заменить отсутствующих членов команды


Я не могу себе представить, как программный инструмент может заменить реального человека в качестве учителя. Хотя у меня лично нет никакого опыта работы с инструментами, которые вы упомянули, я не могу представить себе программный инструмент, который мог бы объяснить что-то так же хорошо, как человек, или тот, который мог бы приблизиться к предвидению каждого вопроса, который у вас может быть для него.

когда у меня нет коллег-разработчиков, я нахожу, что это помогает поговорить с кем-нибудь, кто будет слушать. Часто сам акт говорения помогает мне. мне нужно кое-что обдумать.


быстрый ответ, нет. Это не ИИ, а не где близко к тому, что реальное со-программист может предложить.

Я ежедневно использую ReSharper и не могу жить без него. Но мои коллеги-программисты предлагают гораздо больше понимания вещей, которые ReSharper не может.


ни один инструмент не даст вам ответов на большие вопросы. (Должен ли я использовать пул потоков или создать свой собственный? Должен ли я использовать монитор или мьютекс? Etc etc)

тем не менее, очень немногие люди имеют возможность работать с действительно одаренным наставником, и некоторым все еще удается стать удивительными разработчиками.