Зачем нужен ReSharper?
От: ukrspecs  
Дата: 29.01.20 17:36
Оценка: +9 -2
Догадываюсь, что вопрос затерли до дыр, аж профильный форум создали. Но вопрос (для меня) остается открытым.
У меня было несколько таких кейсов:
— Устраиваюсь в солидную контору на высокий рейт. Интервью. После задачки на перекладывание из массива в массив, летит вопрос "Do you use ReSharper?", с повелительной интонацией. Я замялся, сказал что стоит в студии (что отключен всегда — не стал говорить). Затем работая в этой конторе, в документациях типа "как развернуть у себя среду для тестирования" — первым пунктом идет — "Установите ReSharper". Не устанавливал. Все развернул, недоумеваю.
— Кейс #2. Взяли лидом в команду из 25 человек. И дня не прошло, чтобы кто-нибудь из них не заныл — "Я без решарпера, как без рук! Купить мне лицензию наконец...ААА!". Недоумеваю. Спрашивать причины воя не стал, дабы сохранить дружный коллектив.
— Еще несколько случаев, в том числе в публичных интервью и блог-постах уважаемых людей пишут, что ReSharper — must have, а без него — студия — это текстовый редактор. Так то.

У меня вопрос. Я сижу в студии с версии 6.0, года так с 2001-го. Ставил все версии. Сейчас на 2019. У меня в голове не укладывается, что там можно сделать такого, чего сама студия не может??
Я ставил, смотрел: сразу появилась куча всякой дополнительной мишуры в редакторе, время загрузки студии увеличилось, в целом тормоза. Привычные Хоткеи перебиваются и начинается какая-то вакханалия вместо стандартных окон.

Захожу в Tools->Extensions, нажимаю Disable, чисто на случай если всплывет какая-то киллер фича, которая в разы ускорит разработку и этого не будет в самой VS.

Чего я не понимаю в мире разработки на C#?
Re: Зачем нужен ReSharper?
От: Слава  
Дата: 29.01.20 17:43
Оценка: +7 -1 :))
Здравствуйте, ukrspecs, Вы писали:

U>Чего я не понимаю в мире разработки на C#?


Вы наверное сразу всё делаете правильно, а потом не переделываете никогда. И всё помните. Вам ни Find Usages не нужен, ни переразбивка проекта на части и неймспейсы, ни создание интерфейса для какого-нибудь класса на 50 методов (фасада к куче других сервисов, а интерфейс нужен для создания кэширующей прослойки).
Re: Зачем нужен ReSharper?
От: Sharov Россия  
Дата: 29.01.20 18:01
Оценка:
Здравствуйте, ukrspecs, Вы писали:

U>Чего я не понимаю в мире разработки на C#?


Я без R#, как без рук -- у меня там свои биндинги
Автор: Sharov
Дата: 05.07.12
, под себя, без которых мне крайне крайне не привычно\уютно.
Кодом людям нужно помогать!
Re[2]: Зачем нужен ReSharper?
От: vorona  
Дата: 29.01.20 20:43
Оценка: +1
Здравствуйте, Слава, Вы писали:

Это все есть в студии
Re[3]: Зачем нужен ReSharper?
От: sergeya Ниоткуда http://blogtani.ru
Дата: 29.01.20 21:09
Оценка: 1 (1) +1
Здравствуйте, vorona, Вы писали:

V>Это все есть в студии


Согласен. Часто решарпер хвалят за умелый Find Usages, но в студии в большинстве случаях мне хватает Find All References/Go To Implementation.
Эта парочка пасует только в случае, если надо провалиться в метод, реализованный в неизвестном производном классе:

func(IBaseObject obj)
{
    // Вот здесь не получается дает провалиться в реализацию ToString(), потому что студия не может определить, 
    // экземпляр какого именно конкретного класса был передан в метод
    obj.ToString(); 
}

По этой причине особенно тяжело разбираться в проектах, где широко используются IoC контейнеры.
Но там и решарпер не поможет.
Мобильная версия сайта RSDN — http://rsdn.org/forum/rsdn/6938747
Автор: sergeya
Дата: 19.10.17
Re: Зачем нужен ReSharper?
От: Kolesiki  
Дата: 30.01.20 06:53
Оценка: 2 (1) +3
Здравствуйте, ukrspecs, Вы писали:

U>Но вопрос (для меня) остается открытым.


Брат, ты не один! Решарпер действительно БЫЛ когда-то полезным дополнением (напр, к студии 2005), потому что саму студию писали посредственности. Но сейчас, за годы улучшений, Студия получила кучу плюшек и теперь Решарпер в ней как пятое колесо — ничего, кроме тормозов не привносит.
Так что да, всех "решарпистов" можешь посылать прямиком в ЖетБрынзу: "Ребят, любой каприз за ваши деньги!". Сами купят, сами помучаются, сами понесут обратно.
Re[2]: Зачем нужен ReSharper?
От: Privalov  
Дата: 30.01.20 07:24
Оценка:
Здравствуйте, Kolesiki, Вы писали:

K>Брат, ты не один! Решарпер действительно БЫЛ когда-то полезным дополнением (напр, к студии 2005), потому что саму студию писали посредственности. Но сейчас, за годы улучшений, Студия получила кучу плюшек и теперь Решарпер в ней как пятое колесо — ничего, кроме тормозов не привносит.


Без Решарпера в студии 2019 можно обойтись. По крайней мере, на небольших проектах. Но вот касательно улучшений... Я как-то жаловался на неработающий XML Schema Explorer. По сообщениям, его обещали починить в версии 16.4. У меня сейчас 16.4.3, а он как не работал, так и не работает. Точнее, я однажды сделал студии repair, после чего мне удалось его запустить. Но после того, как я закрыл студию, а потом снова открыл, он снова объявил забастовку. Мне теперь что, каждый раз перед открытием схемы repair делать?
Толку с тех плющек, если они работают через нее (если вообще работают).
Отредактировано 30.01.2020 7:41 Privalov . Предыдущая версия .
Re: Зачем нужен ReSharper?
От: Лось Чтостряслось СССР  
Дата: 30.01.20 09:18
Оценка:
Здравствуйте, ukrspecs, Вы писали:

давно я его в руки не брал (как и студию, впрочем)
может просто современная студия умеет всё из коробки? лет 10 назад емнип решарпер был незаменим
социализм или варварство
Re[2]: Зачем нужен ReSharper?
От: Sharov Россия  
Дата: 30.01.20 09:27
Оценка:
Здравствуйте, Лось Чтостряслось, Вы писали:

ЛЧ>давно я его в руки не брал (как и студию, впрочем)


Проджет менеджер али другой стек?

ЛЧ>может просто современная студия умеет всё из коробки? лет 10 назад емнип решарпер был незаменим


Поэтому к нему уже привык и без него как-то не так.
Кодом людям нужно помогать!
Re[3]: Зачем нужен ReSharper?
От: Лось Чтостряслось СССР  
Дата: 30.01.20 09:49
Оценка: 1 (1)
Здравствуйте, Sharov, Вы писали:

ЛЧ>>давно я его в руки не брал (как и студию, впрочем)

S>Проджет менеджер али другой стек?
xcode
социализм или варварство
Re: Зачем нужен ReSharper?
От: Vladek Россия Github
Дата: 30.01.20 10:47
Оценка: +1 -2 :))) :)
Здравствуйте, ukrspecs, Вы писали:

U>Чего я не понимаю в мире разработки на C#?


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

Студия одинаково тормозит на таком коде что с Решарпером, что без Решарпера, поэтому тормозов Решарпера они не замечают.
Re: Зачем нужен ReSharper?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 30.01.20 11:31
Оценка:
Здравствуйте, ukrspecs, Вы писали:

U>Чего я не понимаю в мире разработки на C#?


Кстати, для С++ также. Я выиграл лицензию на конференции, поставил себе и дальше всё как у тебя: всё мигает, мограет, пёстро, хоткеи не работают, тормоза, IDE почему-то перестало видеть инклуды к ffmpeg (компилятор видит). Немножко помучался, удалил и всё. Проект кроссплатформенный под Windows я работаю в MS VS, под Линуксом в QtCreator, все проекты на CMake. Вернулся к привычным инструментам.
Re: Зачем нужен ReSharper?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 30.01.20 12:30
Оценка: 1 (1) +3
Здравствуйте, ukrspecs, Вы писали:

U>Чего я не понимаю в мире разработки на C#?


Решарпер интересен не синтаксисом, интеллисенсом, навигацией или тестовой средой. Это все второстепенное.

Основное — в нем очень продвинутый рефакторинг. Настолько крутой, что можно писать код не в терминах "строчка, еще строчка", а работать в терминах парадигмы.
Это позволяет модифицировать и окультуривать ненужный, лишний, устаревший, неоптимальный код сохраняя сильные гарантии работоспособности.
Например, есть запутаный метод килобайт около 500, понятный одному автору на момент написания, да и то, автор уволился. Разрабы вплоть до сеньора боятся туда лезть, ни тестов, ни документации, ничего.
Как быть?
Вот представь кейс, когда внутренности этого метода надо отдать наружу в виде внятного АПИ. Решарпер позволяет решать такие задачи намного эффективнее, нежели переписывать с нуля.
Например, возможный подход — конвертируем метод в класс, режем на кусочки, двигая по иерархии, перемещаем методы между классами, выделяем интерфейсы, унифицируем, вытесняем лишнее в экстеншны, вводим чтото навроде дсл и все это в принципе без набора какого либо существенного количества кода руками.
Еще и тесты появятся сами собый, как побочный эффект.

Особо умные конечно намекают: "А зачем такое было писать?" Странно, но когда этот код кем то создавался и протухал, прокисал годами, такие вопросы не интересовали Почему ?
Re[2]: Зачем нужен ReSharper?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 30.01.20 12:35
Оценка: +1
Здравствуйте, Vladek, Вы писали:

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


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

Любой код имеет цикл жизни — пишем, осмысливаем, адаптируем новые требования, фиксим баги и так много раз по кругу пока сохраняется экономическая целесообразность.
Рефакторинг нужен для того, что бы управлять этим циклом жизни кода. В противном случае всё будет в ущерб майнтенансу — трудозатраты все больше и больше, пока это не перестаёт быть экономически эффективным. При чем эффект нарастает лавиной. Пока есть деньги — можно компенсировать разрабами. Но это не на долго. А вот переписывание с нуля обычно даёт жосцкий фейл,или, в лучшем случае, те же проблемы, но в профиль.
Отредактировано 30.01.2020 12:41 Pauel . Предыдущая версия .
Re[2]: Зачем нужен ReSharper?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 30.01.20 12:38
Оценка: +1
Здравствуйте, Слава, Вы писали:

U>>Чего я не понимаю в мире разработки на C#?


С>Вы наверное сразу всё делаете правильно, а потом не переделываете никогда. И всё помните. Вам ни Find Usages не нужен, ни переразбивка проекта на части и неймспейсы, ни создание интерфейса для какого-нибудь класса на 50 методов (фасада к куче других сервисов, а интерфейс нужен для создания кэширующей прослойки).


Скорее товарищ имеет дело только со свежим кодом и в основном своим или своей команды.
Re[2]: Зачем нужен ReSharper?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 30.01.20 12:39
Оценка: +1 -1
Здравствуйте, Kolesiki, Вы писали:

U>>Но вопрос (для меня) остается открытым.


K>Брат, ты не один! Решарпер действительно БЫЛ когда-то полезным дополнением (напр, к студии 2005), потому что саму студию писали посредственности. Но сейчас, за годы улучшений, Студия получила кучу плюшек и теперь Решарпер в ней как пятое колесо — ничего, кроме тормозов не привносит.


Узнаю разработчика-одиночку c идеальной памятью, который реализует закат солнца вручную
Re[2]: Зачем нужен ReSharper?
От: sergeya Ниоткуда http://blogtani.ru
Дата: 30.01.20 14:40
Оценка: +2
Здравствуйте, Ikemefula, Вы писали:

I>Решарпер интересен не синтаксисом, интеллисенсом, навигацией или тестовой средой. Это все второстепенное.

I>Основное — в нем очень продвинутый рефакторинг.

Можешь написать из своего опыта, каких именно рефакторингов не хватает в студии?
Мобильная версия сайта RSDN — http://rsdn.org/forum/rsdn/6938747
Автор: sergeya
Дата: 19.10.17
Re: Зачем нужен ReSharper?
От: Мирный герцог Ниоткуда  
Дата: 30.01.20 15:09
Оценка: :))) :)
Здравствуйте, ukrspecs, Вы писали:

U>Чего я не понимаю в мире разработки на C#?


пацаны просто не осилили греп и регекспы *trollface.ico*
нормально делай — нормально будет
Re[4]: Зачем нужен ReSharper?
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 30.01.20 15:16
Оценка: :)
Здравствуйте, Лось Чтостряслось, Вы писали:

ЛЧ>xcode

х....й код? Вот это coming out
[КУ] оккупировала армия.
Re[2]: Зачем нужен ReSharper?
От: ukrspecs  
Дата: 30.01.20 19:32
Оценка: +3 -5
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, ukrspecs, Вы писали:


U>>Чего я не понимаю в мире разработки на C#?



I>Особо умные конечно намекают: "А зачем такое было писать?" Странно, но когда этот код кем то создавался и протухал, прокисал годами, такие вопросы не интересовали Почему ?


Это какой-то абстрактный кейс, который в любом случае должен звучать иначе "лошадь двигает телегу, а не наоборот". Т.е. в любом случае, разбивать, вычленять и рефакторить нужно своей головой. То что вместо Ctrl+X — Ctrl+V и еще пары хоткеев, я кликну правой кнопкой мыши и мне вывалится новый класс и методы...ну оно того не стоит.

В общем нет сегодня весомых аргументов в пользу Решарпера. А те кто на него давно подсел, уже по инерции вырубают хоткеи студии и даже не смотрят что в ней нового.
На реальном проекте, это превращается в дикую попоболь, когда менеджеры зажимают бюджет на недешевую лицензию решарпера.
Re[3]: Зачем нужен ReSharper?
От: Zhendos  
Дата: 30.01.20 19:52
Оценка: +1
Здравствуйте, ukrspecs, Вы писали:

U>Здравствуйте, Ikemefula, Вы писали:


I>>Здравствуйте, ukrspecs, Вы писали:


U>>>Чего я не понимаю в мире разработки на C#?



I>>Особо умные конечно намекают: "А зачем такое было писать?" Странно, но когда этот код кем то создавался и протухал, прокисал годами, такие вопросы не интересовали Почему ?


U>Это какой-то абстрактный кейс, который в любом случае должен звучать иначе "лошадь двигает телегу, а не наоборот". Т.е. в любом случае, разбивать, вычленять и рефакторить нужно своей головой. То что вместо Ctrl+X — Ctrl+V и еще пары хоткеев, я кликну правой кнопкой мыши и мне вывалится новый класс и методы...ну оно того не стоит.


Ну естественно план рефакторинга надо продумать до того как делать,
но при чем здесь это? Но после понимания того что есть и как это нужно изменить,
нужно же в большой кодовой базе "дохрена" ручками поработать, если не будет переимования методов,
классов, выделение методов, выделения интерфейсов и т.д.
Неужели эту "мартышкину" работу, череватую опечатками, забытыми строчками и т.д.
хочется делать самому и инструмент автоматизирующий все это из раздела "ненужно"?
Отредактировано 22.02.2020 14:19 Zhendos . Предыдущая версия . Еще …
Отредактировано 31.01.2020 19:29 Zhendos . Предыдущая версия .
Re: Зачем нужен ReSharper?
От: bkat  
Дата: 30.01.20 23:04
Оценка: +1 -1
ReSharper действительно не нужен.
Впрочем VS тоже возможно и не нужен.

Уже довольно долго сижу на Rider от JetBrains и за исключением некоторых вещей, все в нем устраивает.
Т.е. получаем мощь ReSharper и по сути стандартную IDE, которая которая работает как и другие продукты от JetBrains.
Поскольку приходится иметь с зоопарком разных языков, стандартный IDE очень сильно помогает.

32 битная сущность VS уж сильно достает, а в связке с ReSharper, который на самом деле весьма полезен,
получается совсем плохо.

Но слава богу есть Rider и другие продукты от JetBrains
Отредактировано 30.01.2020 23:16 bkat . Предыдущая версия .
Re[4]: Зачем нужен ReSharper?
От: CreatorCray  
Дата: 30.01.20 23:29
Оценка: +2
Здравствуйте, Лось Чтостряслось, Вы писали:

ЛЧ>xcode

Мои соболезнования.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[2]: Зачем нужен ReSharper?
От: CreatorCray  
Дата: 30.01.20 23:29
Оценка: +1
Здравствуйте, Nuzhny, Вы писали:

N>Кстати, для С++ также. Я выиграл лицензию на конференции, поставил себе и дальше всё как у тебя: всё мигает, мограет, пёстро, хоткеи не работают, тормоза, IDE почему-то перестало видеть инклуды к ffmpeg (компилятор видит). Немножко помучался, удалил и всё.


Я для студии юзаю VAX и очень им доволен.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[2]: Зачем нужен ReSharper?
От: CreatorCray  
Дата: 30.01.20 23:29
Оценка: +1
Здравствуйте, Мирный герцог, Вы писали:

МГ>пацаны просто не осилили греп и регекспы *trollface.ico*

Спасибо поблевал. Наблюдаю периодически как адепты грепа мудохаются.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re: Зачем нужен ReSharper?
От: iHatePayingTaxes Россия  
Дата: 31.01.20 00:43
Оценка: +1 -2
Здравствуйте, ukrspecs, Вы писали:

Не знаю про C#, для C++ мне нравится решарпер.

— Эти товарищи которые студию делают досих пор не осилили функцию find all references. Считаю что это косяк со стороны MSVS
В решарпере это есть.

— boost tests решарпер понимает (не существенная фишка но приятно). правда почему то она у нас перестала работать

— да и носом в косяки тыкает (кажется он а не сама студия из каропки). Недавно баг нашел на ревью коллеги благодаря ему (кажется всетаки решарпер это нашел) и баг серьезный — он там кое что отлымывал.
всякие лишние инлайны и лишние std::move(которые отменяют copy elision) тоже носом тыкает (кажется он а не сама MSVS)

— в отладке показывает как в идее какие переменные меняются прямо в тексте. довольно удобно

вобщем зря парни на него погнали.
единственно что да, вроде притормаживает
Re[3]: Зачем нужен ReSharper?
От: Sinclair Россия https://github.com/evilguest/
Дата: 31.01.20 10:17
Оценка: +2
Здравствуйте, sergeya, Вы писали:
S>Можешь написать из своего опыта, каких именно рефакторингов не хватает в студии?
Мне, например, не хватает выделения базового класса. То есть смотрим на класс — хотим его распилить на (абстрактную) базу и потомка. Упс, студия умеет только extract interface, и только по публичным методам.
Это не работает для типичного случая, когда у нас есть класс с protected/internal методами.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Зачем нужен ReSharper?
От: alexzzzz  
Дата: 31.01.20 13:39
Оценка: 2 (2) +1
Здравствуйте, bkat, Вы писали:

B>ReSharper действительно не нужен.

B>Впрочем VS тоже возможно и не нужен.

Я помню ситуацию так:

Пока JetBrains с Microsoft не конкурировали на поле IDE для C#, Студия не пытался конкурировать с Решарпером. Microsoft поддерживал существующую экосистему (они прям открытым текстом где-то про это писали). Когда JetBrains решили потеснить Microsoft на поле IDE, Студия резко начала реализовывать полезный функционал Решарпера у себя. Не так быстро как хотелось бы, но раньше процесс вообще не шёл, а потом вдруг пошёл и не прекращается.

Сами ли JetBrains решили, что надо сделать новую IDE; или с приходом Розлина поняли, что положение Решарпера как платного must-have-плагина потенциально под угрозой — не суть важно.

B>Уже довольно долго сижу на Rider от JetBrains и за исключением некоторых вещей, все в нем устраивает.


С противоположной стороны ситуация сейчас выглядит похоже. В современной Студии стало можно обходиться без Решарпера. За исключением некоторых вещей, всё в ней устраивает. Хотя если долго пользовался Решарпером, мышечная память не даёт так просто взять и перестать. Перейти на Райдер может оказаться проще. Хотя от Райдера мне не удалось добиться раскраски кода как в VS.
Отредактировано 31.01.2020 13:55 alexzzzz . Предыдущая версия . Еще …
Отредактировано 31.01.2020 13:41 alexzzzz . Предыдущая версия .
Отредактировано 31.01.2020 13:41 alexzzzz . Предыдущая версия .
Отредактировано 31.01.2020 13:41 alexzzzz . Предыдущая версия .
Re[3]: Зачем нужен ReSharper?
От: bkat  
Дата: 31.01.20 14:19
Оценка:
Все так, если смотреть с позиции когда VS — это единственный тул и 32 битность IDE не является проблемой.
На текущей фирме используется стек разных технологий и если сознательно не ограничивать себя одной технологией,
то есть возможность работать на всем от c/c++ для встроенных систем, до Angular клиентами и приложениями для мобилок и сервисами на Java / .net core
И вот тут оказывается, что одна философия для разных IDE (Rider, IntelliJ, CLion, WebStorm, AndroidStudio,...) оказывается огромным плюсом.
Ну а то, что VS стоит особняком, то это его беда...

Короче даже предпочитая .net реально не вижу нужды в VS.
Re[3]: Зачем нужен ReSharper?
От: bkat  
Дата: 31.01.20 14:24
Оценка:
Здравствуйте, alexzzzz, Вы писали:

A>Сами ли JetBrains решили, что надо сделать новую IDE; или с приходом Розлина поняли, что положение Решарпера как платного must-have-плагина потенциально под угрозой — не суть важно.


Кстати, JetBrains ну совсем не новички в разработке IDE.
Скорее они поняли, что 32-битность VS не дает им шанса развивать ReSharper
и лучше упаковать его в другой продукт.
Re[3]: Зачем нужен ReSharper?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 31.01.20 14:49
Оценка: +1
Здравствуйте, ukrspecs, Вы писали:

I>>Особо умные конечно намекают: "А зачем такое было писать?" Странно, но когда этот код кем то создавался и протухал, прокисал годами, такие вопросы не интересовали Почему ?


U>Это какой-то абстрактный кейс, который в любом случае должен звучать иначе "лошадь двигает телегу, а не наоборот". Т.е. в любом случае, разбивать, вычленять и рефакторить нужно своей головой. То что вместо Ctrl+X — Ctrl+V и еще пары хоткеев, я кликну правой кнопкой мыши и мне вывалится новый класс и методы...ну оно того не стоит.


Хороший рефакторинг это как правило N-проверенных вариантов — попробовал, вышла фигня, откатил, сделал еще один и так по кругу.
Найденное решение это первая итерация. Обычно надо штук пять таких итераций, что бы цель была достигнута.

Что бы такое сделать быстро, нужно чтото мощнее чем "перенабираем код руками". Ручная работа это постоянные огрехи из за особенностей человеческого внимания. Автоматический инструмент ошибается на порядки реже. Соответсвенно шансов у ручного рефакторинга нет ни единого.
Re[3]: Зачем нужен ReSharper?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 31.01.20 15:04
Оценка: -2
Здравствуйте, sergeya, Вы писали:

I>>Решарпер интересен не синтаксисом, интеллисенсом, навигацией или тестовой средой. Это все второстепенное.

I>>Основное — в нем очень продвинутый рефакторинг.

S>Можешь написать из своего опыта, каких именно рефакторингов не хватает в студии?


Проще написать, какие есть в студии — их ажно целый десяток!
Re: Зачем нужен ReSharper?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 31.01.20 17:18
Оценка: +1
Здравствуйте, ukrspecs, Вы писали:

U>- Кейс #2. Взяли лидом в команду из 25 человек. И дня не прошло, чтобы кто-нибудь из них не заныл — "Я без решарпера, как без рук! Купить мне лицензию наконец...ААА!". Недоумеваю. Спрашивать причины воя не стал, дабы сохранить дружный коллектив.


Вот интересно, каким образом такой простой вопрос может порушить дружный коллектив? Вы за кого коллег принимаете?
Re: Зачем нужен ReSharper?
От: blp  
Дата: 31.01.20 18:32
Оценка:
Здравствуйте, ukrspecs, Вы писали:

U>Чего я не понимаю в мире разработки на C#?

Интересно, как вы решаете задачу "для данного property найти все места в коде, где вызывается его сеттер"?
Делаете find all references, а потом руками отфильтровываете сеттеры / геттеры?
Re[3]: Зачем нужен ReSharper?
От: Мирный герцог Ниоткуда  
Дата: 31.01.20 21:53
Оценка:
Здравствуйте, CreatorCray, Вы писали:

МГ>>пацаны просто не осилили греп и регекспы *trollface.ico*

CC>Спасибо поблевал. Наблюдаю периодически как адепты грепа мудохаются.

когда я был мал и глуп, и не видал больших залуп, я тоже очень любил VAX, но однажды я попал на легаси проект со среднего размера кодобазой (1 млок+), который очень хотел быть отрефакторен, и понял, что греп и регекспы находят много интересного там, до чего вакс просто физичски не может дотянутся — комментарии в коде, препроцессируемый код, генерируемый код, код на разных языках, итп итд. Пришло просветление. С тех пор я на вакс и прочие интеллисенсы смотрю несколько иначе.
нормально делай — нормально будет
Re[4]: Зачем нужен ReSharper?
От: ukrspecs  
Дата: 01.02.20 08:15
Оценка: +2 -1 :)
Здравствуйте, Zhendos, Вы писали:

Z>Ну естественно план рефакторинга надо продумать до того как я делать,

Z>но при чем здесь это? Но после понимания того что есть и как это нужно изменить,
Z>нужно же в большой кодовой базе "дохрена" ручками поработать, если не будет переимования методов,
Z>классов, выделение методов, выделения интерфейсов и т.д.
Z>Неужели эту "мартышкину" работу, череватую опечатками, забытыми строчками и т.д.
Z>хочется делать самому и инструмент автоматизирующий все это из раздела "ненужно"?

Чеклист от Microsoft:
Переименование методов и классов — есть (причем без всяких popup окон)
Выделение интерфейсов и методов — не уверен, правильно ли понимаю, так но за 20 лет наверное пару раз нужно было. Тогда я создаю интерфейс, делаю copy-paste из класса, убираю лишнее, затем в наследнике "Ctrl+." и методы генерятся. UPD: Да, это такая важная фича, что я даже не знал про то, что она есть из коробки в VS https://prnt.sc/qvyueo
Это must-have функционал?
Отредактировано 01.02.2020 8:53 AlbertNovinskiy . Предыдущая версия .
Re[2]: Зачем нужен ReSharper?
От: ukrspecs  
Дата: 01.02.20 08:17
Оценка: +1
Здравствуйте, bkat, Вы писали:

B>ReSharper действительно не нужен.

B>Впрочем VS тоже возможно и не нужен.

B>32 битная сущность VS уж сильно достает, а в связке с ReSharper, который на самом деле весьма полезен,

B>получается совсем плохо.

B>Но слава богу есть Rider и другие продукты от JetBrains


Rider — сырой.

Посмотрел бы я на вас, как вы например дебажите Xamarin.iOS приложение в нем. Или публикуете в Azure.
Re[4]: Зачем нужен ReSharper?
От: ukrspecs  
Дата: 01.02.20 08:23
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, ukrspecs, Вы писали:


I>>>Особо умные конечно намекают: "А зачем такое было писать?" Странно, но когда этот код кем то создавался и протухал, прокисал годами, такие вопросы не интересовали Почему ?


U>>Это какой-то абстрактный кейс, который в любом случае должен звучать иначе "лошадь двигает телегу, а не наоборот". Т.е. в любом случае, разбивать, вычленять и рефакторить нужно своей головой. То что вместо Ctrl+X — Ctrl+V и еще пары хоткеев, я кликну правой кнопкой мыши и мне вывалится новый класс и методы...ну оно того не стоит.


I>Хороший рефакторинг это как правило N-проверенных вариантов — попробовал, вышла фигня, откатил, сделал еще один и так по кругу.

I>Найденное решение это первая итерация. Обычно надо штук пять таких итераций, что бы цель была достигнута.

I>Что бы такое сделать быстро, нужно чтото мощнее чем "перенабираем код руками". Ручная работа это постоянные огрехи из за особенностей человеческого внимания. Автоматический инструмент ошибается на порядки реже. Соответсвенно шансов у ручного рефакторинга нет ни единого.


Первый раз про такое слышу. Про N вариантов рефакторига. Хотя может если бюджет резиновый — то можно изголяться. Ручная работа джуна — она и с решарпером будет не очень. Бородатый лид и в notepad++ справится при желании.

К слову, реальный случай сейчас. Пишу Xamarin.iOS приложение. Проблема в то, что в VS на винде писать удобнее — но дебажить мееееделенно. А в VS на Маке — писать больно, но запускается все за секунды. И вот VS для Mac — это такой Visual Studio Code, с минимум дополнительного функционала. Без всяких решарперов и минимум рефакторинга. И ничего, и там справляюсь.
Re[2]: Зачем нужен ReSharper?
От: ukrspecs  
Дата: 01.02.20 08:27
Оценка: :)
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, ukrspecs, Вы писали:


U>>- Кейс #2. Взяли лидом в команду из 25 человек. И дня не прошло, чтобы кто-нибудь из них не заныл — "Я без решарпера, как без рук! Купить мне лицензию наконец...ААА!". Недоумеваю. Спрашивать причины воя не стал, дабы сохранить дружный коллектив.


I>Вот интересно, каким образом такой простой вопрос может порушить дружный коллектив? Вы за кого коллег принимаете?


Попробую объяснить. Бюджета на ReSharper у нас не было, а если и было то на несколько лицензий. То есть идя на поводу у фанатов, мы либо лишались доли бюджета, который идет на зарплаты, либо имели бы элитную касту с решарпером, а вновь прибывшим и джунам оставалось бы только облизываться, если он им также необходим. Разумеется вопрос в духе "А зачем тебе решарпер?", вызвал бы поток коллективного сознания, с заведомо проигрышным для меня и компании результатом. Поэтому лучше было не задевать лишний раз этих разрабов.
Re[2]: Зачем нужен ReSharper?
От: ukrspecs  
Дата: 01.02.20 08:29
Оценка:
Здравствуйте, blp, Вы писали:

blp>Здравствуйте, ukrspecs, Вы писали:


U>>Чего я не понимаю в мире разработки на C#?

blp>Интересно, как вы решаете задачу "для данного property найти все места в коде, где вызывается его сеттер"?
blp>Делаете find all references, а потом руками отфильтровываете сеттеры / геттеры?

Да, именно так и делаю. Причем разглядеть места с "Property = " не сложно. Хотя хотел бы такую фичу из коробки, да.
Re[2]: Зачем нужен ReSharper?
От: ukrspecs  
Дата: 01.02.20 08:47
Оценка: -1
Здравствуйте, Слава, Вы писали:

С>Здравствуйте, ukrspecs, Вы писали:


U>>Чего я не понимаю в мире разработки на C#?


С>Вы наверное сразу всё делаете правильно, а потом не переделываете никогда. И всё помните. Вам ни Find Usages не нужен, ни переразбивка проекта на части и неймспейсы, ни создание интерфейса для какого-нибудь класса на 50 методов (фасада к куче других сервисов, а интерфейс нужен для создания кэширующей прослойки).


ОК.
Вы наверное сразу всё делаете правильно. По крайней мере стараюсь, а вы разве нет?
— Find Usages меня устраивают, те что есть в VS. Если прям все-все искать — то стандартный поиск по solution тоже ок.
— Переразбивка проекта на части и неймспейсы — делаю руками. Хотя не любитель трогать, то что работает. И новых проектов тоже хватает.
— Создание интерфейса для какого-нибудь класса на 50 методов. Тоже редко такая задача появляется. Привык руками делать, но можно и так https://prnt.sc/qvyueo
Re[3]: Зачем нужен ReSharper?
От: ukrspecs  
Дата: 01.02.20 08:50
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, Слава, Вы писали:


U>>>Чего я не понимаю в мире разработки на C#?


С>>Вы наверное сразу всё делаете правильно, а потом не переделываете никогда. И всё помните. Вам ни Find Usages не нужен, ни переразбивка проекта на части и неймспейсы, ни создание интерфейса для какого-нибудь класса на 50 методов (фасада к куче других сервисов, а интерфейс нужен для создания кэширующей прослойки).


I>Скорее товарищ имеет дело только со свежим кодом и в основном своим или своей команды.


Я понимаю ваш сарказм. Но в былые времена мне в основном доставался код от ребят из чайных республик, которые сбежали из компании, потому что его невозможно было поддерживать. И там выгребал, за 10 баксов в час.
Сейчас времена поменялись и стараюсь брать только новые проекты. Через 14 лет на фрилансе можно-то, раз спрос есть
Re[3]: Зачем нужен ReSharper?
От: romangr Россия  
Дата: 01.02.20 09:36
Оценка: +2
Здравствуйте, ukrspecs, Вы писали:

U>Здравствуйте, blp, Вы писали:


blp>>Делаете find all references, а потом руками отфильтровываете сеттеры / геттеры?


U>Да, именно так и делаю. Причем разглядеть места с "Property = " не сложно. Хотя хотел бы такую фичу из коробки, да.


В 2019 студии такая фича есть из коробки. В окне Find references есть колонка Kind, там можно выставить фильтр в Read/Write.
Ну и если у такого свойства
public class MyClass
{
    public int MyProperty { get; set; }
}

поставить курсор на get или set и нажать Shift+F12 то оно само отфильтрует то что нужно.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[3]: Зачем нужен ReSharper?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 01.02.20 09:57
Оценка: -1
Здравствуйте, ukrspecs, Вы писали:

U>Попробую объяснить. Бюджета на ReSharper у нас не было, а если и было то на несколько лицензий. То есть идя на поводу у фанатов, мы либо лишались доли бюджета, который идет на зарплаты, либо имели бы элитную касту с решарпером, а вновь прибывшим и джунам оставалось бы только облизываться, если он им также необходим. Разумеется вопрос в духе "А зачем тебе решарпер?", вызвал бы поток коллективного сознания, с заведомо проигрышным для меня и компании результатом. Поэтому лучше было не задевать лишний раз этих разрабов.


Вот-вот. Странные коллеги — простой кейс может спровоцировать поток сознания Это вы, д`Артаньян? Не узнаю в гриме
Re[3]: Зачем нужен ReSharper?
От: Mamut Швеция http://dmitriid.com
Дата: 01.02.20 12:31
Оценка: +3 -2
U>Попробую объяснить. Бюджета на ReSharper у нас не было, а если и было то на несколько лицензий. То есть идя на поводу у фанатов, мы либо лишались доли бюджета, который идет на зарплаты

Стоимость решарпера — 449 евро в год. То есть 37 евро в месяц. Вы там за еду работали?


dmitriid.comGitHubLinkedIn
Re: Зачем нужен ReSharper?
От: _NN_ www.nemerleweb.com
Дата: 01.02.20 13:52
Оценка: +3 -2
На самом деле у Решарпера довольно много мелких вещей к которым привыкаешь и если работаешь без него тратишь лишнее время .

Как минимум быстрый поиск всего, текста, метолов, классов.
В студии встроенного пока нет.

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

Подсказки и предложения в коде.
Без этого как без рук.
В студим есть немного правил настраиваемых через. editorconfig и есть дополнение Roslynator но это всё не дотягивает до того что есть в решарпере.

Ну и мелочи:
Подсветка protobuf, поддержка VB.NET, JS, TS.
Удобный запускатель тестов.
И много всего.

Конечно можно и обойтись без него как и адепты VIM прекрасно работают с кодом, но зачем лишать себя удобств?
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[5]: Зачем нужен ReSharper?
От: Sharov Россия  
Дата: 01.02.20 16:41
Оценка:
Здравствуйте, ukrspecs, Вы писали:


U>Чеклист от Microsoft:

U>Переименование методов и классов — есть (причем без всяких popup окон)
U>Выделение интерфейсов и методов — не уверен, правильно ли понимаю, так но за 20 лет наверное пару раз нужно было. Тогда я создаю интерфейс, делаю copy-paste из класса, убираю лишнее, затем в наследнике "Ctrl+." и методы генерятся. UPD: Да, это такая важная фича, что я даже не знал про то, что она есть из коробки в VS https://prnt.sc/qvyueo
U>Это must-have функционал?

Да, регулярно с этим сталкиваюсь, с r# за пару кликов все это можно сделать.
Кодом людям нужно помогать!
Re[4]: Зачем нужен ReSharper?
От: Sharov Россия  
Дата: 01.02.20 16:46
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Стоимость решарпера — 449 евро в год. То есть 37 евро в месяц. Вы там за еду работали?


Откуда такие цифры? Я ~500р. в месяц за бандл плачу..
Кодом людям нужно помогать!
Re[3]: Зачем нужен ReSharper?
От: blp  
Дата: 01.02.20 17:19
Оценка: +2
blp>>Делаете find all references, а потом руками отфильтровываете сеттеры / геттеры?

U>Да, именно так и делаю.

Понятно. Люди, которые просят решарпер такие вещи считают дикостью — это как есть руками, зная про существование вилок и ложек.


>Причем разглядеть места с "Property = " не сложно.


>Хотя хотел бы такую фичу из коробки, да.

В решарпер таких мелочей очень много, эта — просто самый простой пример. Я слышал в новой VS ее осилили сделать , правда по функционалу она все равно до решарперлвской не дотягивает.
Re[4]: Зачем нужен ReSharper?
От: bkat  
Дата: 01.02.20 21:05
Оценка: +1
Здравствуйте, Mamut, Вы писали:

U>>Попробую объяснить. Бюджета на ReSharper у нас не было, а если и было то на несколько лицензий. То есть идя на поводу у фанатов, мы либо лишались доли бюджета, который идет на зарплаты


M>Стоимость решарпера — 449 евро в год. То есть 37 евро в месяц. Вы там за еду работали?


449 — это уже Ultimate с Rider.
А так еще дешевле на самом деле.
Re[3]: Зачем нужен ReSharper?
От: bkat  
Дата: 01.02.20 21:13
Оценка:
Здравствуйте, ukrspecs, Вы писали:

U>Посмотрел бы я на вас, как вы например дебажите Xamarin.iOS приложение в нем. Или публикуете в Azure.


Rider вполне нормален уже. Для бэкенда вообще не вижу проблем с ним.

А так Xamarin не нужен Xamarin меня и в студии совсем не впечатлил.
Но они пищут, что Xamarin не проблема.
Сам не пробовал, врать не буду.
Re[4]: Зачем нужен ReSharper?
От: ukrspecs  
Дата: 02.02.20 07:44
Оценка: +1
Здравствуйте, Mamut, Вы писали:

U>>Попробую объяснить. Бюджета на ReSharper у нас не было, а если и было то на несколько лицензий. То есть идя на поводу у фанатов, мы либо лишались доли бюджета, который идет на зарплаты


M>Стоимость решарпера — 449 евро в год. То есть 37 евро в месяц. Вы там за еду работали?


Работали ли вы когда нибудь в крупной аутсорс компании, у который еще более крупный заказчик? Объяснить крупнейшей нефтяной компании в мире, что нам нужно дополнительных 500*25=12.5к евро на какой-то решарпер дорого стоит. Нужно вопрос поднимать по вертикали менеджеров и так далее, никто этим заниматься не собирался.
Re[5]: Зачем нужен ReSharper?
От: _NN_ www.nemerleweb.com
Дата: 02.02.20 07:56
Оценка:
Здравствуйте, ukrspecs, Вы писали:

U>Здравствуйте, Mamut, Вы писали:


U>>>Попробую объяснить. Бюджета на ReSharper у нас не было, а если и было то на несколько лицензий. То есть идя на поводу у фанатов, мы либо лишались доли бюджета, который идет на зарплаты


M>>Стоимость решарпера — 449 евро в год. То есть 37 евро в месяц. Вы там за еду работали?


U>Работали ли вы когда нибудь в крупной аутсорс компании, у который еще более крупный заказчик? Объяснить крупнейшей нефтяной компании в мире, что нам нужно дополнительных 500*25=12.5к евро на какой-то решарпер дорого стоит. Нужно вопрос поднимать по вертикали менеджеров и так далее, никто этим заниматься не собирался.


Что-то тут с ценами напутали.
Мы ведь про C#, вот ценник:

https://www.jetbrains.com/resharper/buy/#commercial?billing=yearly

US $299.00 первый год
US $239.00 второй год
US $179.00 третий год и далее

К тому же есть скидки если компания небольшая.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re: Зачем нужен ReSharper?
От: Ночной Смотрящий Россия  
Дата: 02.02.20 08:20
Оценка:
Здравствуйте, ukrspecs, Вы писали:

U>- Кейс #2. Взяли лидом в команду из 25 человек.


На 25 чловек один лид? Сурово.

U> И дня не прошло, чтобы кто-нибудь из них не заныл — "Я без решарпера, как без рук! Купить мне лицензию наконец...ААА!".


В чем проблема купить лицензию?

U>У меня вопрос. Я сижу в студии с версии 6.0, года так с 2001-го. Ставил все версии. Сейчас на 2019. У меня в голове не укладывается, что там можно сделать такого, чего сама студия не может??


Неверно поставленный вопрос. Верный вопрос — чем отличается средний код, написанный с решарпером от написанного без него?
Слышал когда нибудь такое выражение — ReSharper clean code?
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[3]: Зачем нужен ReSharper?
От: Ночной Смотрящий Россия  
Дата: 02.02.20 08:21
Оценка: +2
Здравствуйте, vorona, Вы писали:

V>Это все есть в студии


Это все появилось в студии относительно недавно. И не совсем все.
А люди уже привыкли к другому инструменту. Зачем их заставлять переучиваться?
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[3]: Зачем нужен ReSharper?
От: Ночной Смотрящий Россия  
Дата: 02.02.20 08:23
Оценка:
Здравствуйте, ukrspecs, Вы писали:

U>- Find Usages меня устраивают, те что есть в VS. Если прям все-все искать — то стандартный поиск по solution тоже ок.


Скорость и точность, мягко говоря, не та.

U>- Переразбивка проекта на части и неймспейсы — делаю руками.


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

U> Хотя не любитель трогать, то что работает. И новых проектов тоже хватает.

U>Привык руками делать

Аутсорс, да? Ну тогда и правда, особо бороться за качество кода смысла нет. Работает — и ладно.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[2]: Зачем нужен ReSharper?
От: Ночной Смотрящий Россия  
Дата: 02.02.20 08:30
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Кстати, для С++ также.


Для С++ сильно хуже. Сам язык не позволяет на современном железе получить достаточно качественный результат.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[3]: Зачем нужен ReSharper?
От: Ночной Смотрящий Россия  
Дата: 02.02.20 08:30
Оценка:
Здравствуйте, alexzzzz, Вы писали:

A>Когда JetBrains решили потеснить Microsoft на поле IDE, Студия резко начала реализовывать полезный функционал Решарпера у себя.


Нет. Процесс начался сильно раньше. Просто какое то время у МС были более первоочередные задачи типа написания Розлина.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[4]: Зачем нужен ReSharper?
От: Ночной Смотрящий Россия  
Дата: 02.02.20 08:30
Оценка:
Здравствуйте, bkat, Вы писали:

B>Rider вполне нормален уже. Для бэкенда вообще не вижу проблем с ним.


Поддержку докера уже завезли? Ну там чтобы dockerfile хотя бы умело генерить да отладку внутри контейнера запускать?
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[4]: Зачем нужен ReSharper?
От: Ночной Смотрящий Россия  
Дата: 02.02.20 09:08
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Стоимость решарпера — 449 евро в год.


Во первых долларов. Во вторых это пакет Ultimate. Голый решарпер $299 в первый год.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[5]: Зачем нужен ReSharper?
От: Mamut Швеция http://dmitriid.com
Дата: 02.02.20 13:32
Оценка: +1
U> крупной аутсорс компании
U> крупный заказчик
U> 500*25=12.5к евро дорого стоит

Вы точно крупная компания?

Ну и как рядом уже заметили, 500*25=12.5к евро — это на Ultimate. Только Решарпер будет стоить в пять раз меньше.


dmitriid.comGitHubLinkedIn
Re[5]: Зачем нужен ReSharper?
От: AlexRK  
Дата: 02.02.20 13:39
Оценка:
Здравствуйте, Sharov, Вы писали:

M>>Стоимость решарпера — 449 евро в год. То есть 37 евро в месяц. Вы там за еду работали?


S>Откуда такие цифры? Я ~500р. в месяц за бандл плачу..


Я и за 5 рублей не куплю. Если мне будут платить за него 1000 в месяц — то, может, и подумаю.
Re[3]: Зачем нужен ReSharper?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 02.02.20 16:21
Оценка: +2
Здравствуйте, ukrspecs, Вы писали:

С>>Вы наверное сразу всё делаете правильно, а потом не переделываете никогда. И всё помните. Вам ни Find Usages не нужен, ни переразбивка проекта на части и неймспейсы, ни создание интерфейса для какого-нибудь класса на 50 методов (фасада к куче других сервисов, а интерфейс нужен для создания кэширующей прослойки).


U>ОК.

U>- Вы наверное сразу всё делаете правильно. По крайней мере стараюсь, а вы разве нет?

Смешно и наивно.


Именно по этому код выгодно держать в чистоте. Чистый код легко изменять в любую сторону. Его даже вырезать и выбросить легче.

Более того — поскольку все вышесказаное требует рефакторинг, то очевидно, руками с этим не справиться. Нужна автоматизация.

U>- Find Usages меня устраивают, те что есть в VS. Если прям все-все искать — то стандартный поиск по solution тоже ок.




U>- Переразбивка проекта на части и неймспейсы — делаю руками. Хотя не любитель трогать, то что работает. И новых проектов тоже хватает.


И наверняка никогда не ошибаешься. А вот ведь именно эта работа дает огромное количество ручных ошибок. Поделил класс на два — надо все финты в конфигурции, инициализации и тд пофиксить руками. Кто гарантии обеспечивать будет?

U>- Создание интерфейса для какого-нибудь класса на 50 методов. Тоже редко такая задача появляется. Привык руками делать, но можно и так


Ок, расскажи, каким чудом ты будешь делать, преобразование, скажем, глубокой иерархии, скажем, в плоскую широкую. Плохая иерархия досталась от тех, неправильных девелоперов. На переписывание времени нет. Что делать?
Отредактировано 02.02.2020 17:23 Pauel . Предыдущая версия . Еще …
Отредактировано 02.02.2020 16:44 Pauel . Предыдущая версия .
Отредактировано 02.02.2020 16:32 Pauel . Предыдущая версия .
Re[5]: Зачем нужен ReSharper?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 02.02.20 17:31
Оценка:
Здравствуйте, bkat, Вы писали:

U>>>Попробую объяснить. Бюджета на ReSharper у нас не было, а если и было то на несколько лицензий. То есть идя на поводу у фанатов, мы либо лишались доли бюджета, который идет на зарплаты


M>>Стоимость решарпера — 449 евро в год. То есть 37 евро в месяц. Вы там за еду работали?


B>449 — это уже Ultimate с Rider.

B>А так еще дешевле на самом деле.

Миллионы долларов экономят десятки и сотни долларов Недели и месяцы кодинга экономят минуты и часы проектирования.
Re: Никто тебе внятно не ответит
От: rm822 Россия  
Дата: 02.02.20 19:49
Оценка: -2
U>Чего я не понимаю в мире разработки на C#?
При чем тут вообще C#? Это чисто психология людская. Продается товар, такой-же как и улучшатели для windows, какие-нибудь там катушки для рыбаков с керамическими подшипниками, женская косметика или модная стрижка для бороды.
Это фетишь, шиза.

Мало кто признается что реальная его производительность примерно 30 строчек отлаженного кода в день (тесты не считаются), и что он не сидит целыми днями рефакторит код.
Ну просят они у тебя решарпер и что? Жена у тебя никогда не просила какую-нибудь штуку не особо нужную(а может и совсем ненужную), или сам ты себе никогда хрень какую-нибудь не покупал?
С чего ты взял что они ведут себя рационально, а не как обычные люди?
Отредактировано 02.02.2020 19:52 rm822 . Предыдущая версия .
Re[3]: Зачем нужен ReSharper?
От: Слава  
Дата: 02.02.20 20:35
Оценка: +1
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Для С++ сильно хуже. Сам язык не позволяет на современном железе получить достаточно качественный результат.


А расскажите про Visual Assist. Я его не трогал с 2012 года, но мне стало интересно — вдруг хоть одна компания на планете сделала нечто полноценное для С++ ?
Re[4]: Зачем нужен ReSharper?
От: _NN_ www.nemerleweb.com
Дата: 02.02.20 20:46
Оценка: 1 (1)
Здравствуйте, Слава, Вы писали:

С>Здравствуйте, Ночной Смотрящий, Вы писали:


НС>>Для С++ сильно хуже. Сам язык не позволяет на современном железе получить достаточно качественный результат.


С>А расскажите про Visual Assist. Я его не трогал с 2012 года, но мне стало интересно — вдруг хоть одна компания на планете сделала нечто полноценное для С++ ?


Коллеги пользуются, но фич у него не так много, а стоит теперь $279 первый год и $119 последующий, что не так уж и мало на фоне количества фич.

https://www.jetbrains.com/resharper-cpp/documentation/resharper_cpp_vs_visual_assist.html
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[6]: Зачем нужен ReSharper?
От: Ночной Смотрящий Россия  
Дата: 02.02.20 21:19
Оценка: +2
Здравствуйте, AlexRK, Вы писали:

ARK>Я и за 5 рублей не куплю. Если мне будут платить за него 1000 в месяц — то, может, и подумаю.


И зачем нам всем об этом знать?
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[5]: Зачем нужен ReSharper?
От: Sinclair Россия https://github.com/evilguest/
Дата: 03.02.20 06:08
Оценка:
Здравствуйте, ukrspecs, Вы писали:

U>Выделение интерфейсов и методов — не уверен, правильно ли понимаю, так но за 20 лет наверное пару раз нужно было. Тогда я создаю интерфейс, делаю copy-paste из класса, убираю лишнее, затем в наследнике "Ctrl+." и методы генерятся. UPD: Да, это такая важная фича, что я даже не знал про то, что она есть из коробки в VS https://prnt.sc/qvyueo

U>Это must-have функционал?
Да постоянно это надо. Вот есть готовый проект, уже всё работает, всё спроектировано грамотно. Внезапно появляется задача, которая прекрасно решается наследованием от одного из классов иерархии.
Вот только в Base слишком мало логики, а в Derived слишком много. Решарпер помогает превратить иерархию Derived:Base в Derived:Intermediate:Base, и отнаследоваться уже от Intermediate.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: Зачем нужен ReSharper?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 03.02.20 09:06
Оценка:
Здравствуйте, ukrspecs, Вы писали:

U>Сейчас времена поменялись и стараюсь брать только новые проекты. Через 14 лет на фрилансе можно-то, раз спрос есть


Вот это буквально ответ на ваш вопрос. Вы избегаете всех тех задач, где нужен решарпер. Фриланс тут ни при чем.
Re[5]: Зачем нужен ReSharper?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 03.02.20 09:19
Оценка: +1 -2
Здравствуйте, ukrspecs, Вы писали:

U>Выделение интерфейсов и методов — не уверен, правильно ли понимаю, так но за 20 лет наверное пару раз нужно было. Тогда я <делаю руками работу, которую может выполнитить автоматический инструмент>


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

Например — длинный метод почти всегда прячет в себе вычисление нового состояния, изменение состояния, реакцию на это изменение состояния и абсолютно всегда содержит вагон дублирования. Этот длинный метод обладает способностью создавать баги на ровном месте. Что бы распилить его на части, нужны те самые приемы, что я указал выше. В простом случае хватит выделение метода. В сложных — вообще все вместе взятое. Скажем, когда код метод преодолевает планку в 100кб, в нём обязательно найдутся наколеночные реализации алгоритмов поиска, замены, вставки, сортировки, группировки, а так же маппинг и наряду с кастомным замаскированым mvc. Что бы избавиться от всего этого, или, наоборот, выделить все указаное в отдельные классы-интерфейсы-методы-утилиты-пакеты, нужна целая куча интструментов, которые дают минимум ошибок.
Re[4]: 32 бита
От: Sharov Россия  
Дата: 03.02.20 09:52
Оценка:
Здравствуйте, bkat, Вы писали:

B>Все так, если смотреть с позиции когда VS — это единственный тул и 32 битность IDE не является проблемой.


А что за история с 32 битностью студии, что она гвоздями прибита? Отчего так?
Кодом людям нужно помогать!
Re[3]: Зачем нужен ReSharper?
От: Kolesiki  
Дата: 03.02.20 10:34
Оценка: -5 :))) :)
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, Kolesiki, Вы писали:


U>>>Но вопрос (для меня) остается открытым.


K>>Брат, ты не один! Решарпер действительно БЫЛ когда-то полезным дополнением (напр, к студии 2005), потому что саму студию писали посредственности. Но сейчас, за годы улучшений, Студия получила кучу плюшек и теперь Решарпер в ней как пятое колесо — ничего, кроме тормозов не привносит.


I>Узнаю разработчика-одиночку c идеальной памятью, который реализует закат солнца вручную


Узнаю гадалок в пёстрых платьях, которые по линиям руки всё сразу о тебе знают!
Милок, не сравнивай весь мир по себе. Если ты без решарпера как без рук — ради бога, но не считай всех остальных такими же убогими!
Решарпер помогает только в древних студиях. В новых он просто не нужен.
Рефакторинг? Делаю, но не так часто, чтобы ставить это убожество. К тому же, я не пишу г***нокод, чтобы потом "экстрактить методы" по 100 штук. Как правило, рефакторю только сигнатуры. Изредка — выделяю код в отдельный метод (что вообще не проблема). Ну и накой тут решарпер?? Решарпер — для студоты, настоящие самураи пишут почти идеальный код!
Re[2]: Зачем нужен ReSharper?
От: Kolesiki  
Дата: 03.02.20 11:03
Оценка: :))
Здравствуйте, _NN_, Вы писали:

_NN>На самом деле у Решарпера довольно много мелких вещей к которым привыкаешь и если работаешь без него тратишь лишнее время .


_NN>Как минимум быстрый поиск всего, текста, метолов, классов.

_NN>В студии встроенного пока нет.


Чё?? Точнее, "Чё курите?" Есть там всё! Самое примитивное — Ctrl+F, это для вашего "поиска текста". Поиск методов — ради бога, найди первый метод, далее find all references. Искать классы можно прямо в солюшене.
Ну другими словами, те, кто не разбирается в VS, учат чем решарпер хорош. А может для начала выучить основной тул?

_NN>Далее рефакторинг кода.

_NN>У решарпера вагон правил, которых в студии нет.

Рефакторинг — признак тухлого, бестолково спроектированного кода. Сначала проектируем В ГОЛОВЕ, потом переносим в проект. Только так. Соотв. последующие рефакторинги не нуждаются в серьёзных и умных правках.

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


Ну так не нанимайте джунов! Пусть научатся проектировать, потом уже кнопки давить.


_NN>Подсказки и предложения в коде.

_NN>Без этого как без рук.

Это ещё зачем? Чтобы я утону в этих "давай сделаем этот метод internal"? оно мне надо? Как и говорил выше, не умеешь проектировать — не садись.

_NN>В студим есть немного правил настраиваемых через. editorconfig и есть дополнение Roslynator но это всё не дотягивает до того что есть в решарпере.


Там нечему "дотягивать" — возможностей студии по рефакторингу — за глаза. А писать г****внокод и потом эту вермишель "сортировать" — ну извини, тут программирование обсуждают, а не индусокод!


_NN>Ну и мелочи:

_NN>Подсветка protobuf, поддержка VB.NET, JS, TS.

Вообще не упёрлось!

_NN>Удобный запускатель тестов.


Студия делает это одной кнопкой — куда уж удобнее?!

_NN>И много всего.


Ну да. Хлама в рюкзаке много, а открывашки нет!

_NN>Конечно можно и обойтись без него как и адепты VIM прекрасно работают с кодом, но зачем лишать себя удобств?


VS даёт вполне удобные инструменты, причём тут вим?? Не надо ТУПО утрировать, у вас и так аргументы — ниочём.

Короче, с адептами решарпера всё понятно: банда джунов набигает на код, писаный индусскими брахмапутрами. Извините, но это далеко не главная часть программирования!
Re[6]: Зачем нужен ReSharper?
От: Kolesiki  
Дата: 03.02.20 11:07
Оценка: +1 -3 :))
Здравствуйте, Ikemefula, Вы писали:

I> Выделение метода — это постоянный, каждодневный рефакторинг.


В индусокоде — да. У профессионалов есть определённая память, поэтому когда он пишет код, он вспоминает, что нечто похожее делается в другом месте. Поэтому дублирующий код В ПРИНЦИПЕ не создаётся. Если же он у вас есть, ну так значит вы не понимаете свой проект! Это уже не проблема VS, тут ближе к квалификации разработчика.

Насколько я понял из всего диспута, решарпер НУЖЕН ДЖУНАМ. Это у них вермишель нуждается в упорядочивании + примитивные "подсказки по коду". Для профи от "среднего" и выше, решарпер — пятое колесо в телеге.
Re[3]: Зачем нужен ReSharper?
От: _NN_ www.nemerleweb.com
Дата: 03.02.20 11:19
Оценка: +1
Здравствуйте, Kolesiki, Вы писали:

K>Здравствуйте, _NN_, Вы писали:


_NN>>На самом деле у Решарпера довольно много мелких вещей к которым привыкаешь и если работаешь без него тратишь лишнее время .


_NN>>Как минимум быстрый поиск всего, текста, метолов, классов.

_NN>>В студии встроенного пока нет.

K>Чё?? Точнее, "Чё курите?" Есть там всё! Самое примитивное — Ctrl+F, это для вашего "поиска текста". Поиск методов — ради бога, найди первый метод, далее find all references. Искать классы можно прямо в солюшене.

K>Ну другими словами, те, кто не разбирается в VS, учат чем решарпер хорош. А может для начала выучить основной тул?

Ок. Как это сделать в студии без дополнительных добавок ?
  Скрытый текст


_NN>>Далее рефакторинг кода.

_NN>>У решарпера вагон правил, которых в студии нет.

K>Рефакторинг — признак тухлого, бестолково спроектированного кода. Сначала проектируем В ГОЛОВЕ, потом переносим в проект. Только так. Соотв. последующие рефакторинги не нуждаются в серьёзных и умных правках.

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

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

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

K>Короче, с адептами решарпера всё понятно: банда джунов набигает на код, писаный индусскими брахмапутрами. Извините, но это далеко не главная часть программирования!

В любом месте которому больше пары лет есть код написанный в сжатые сроки и не до конца продуманный или требующий улучшений.

Справляетесь без решарпера замечательно.
У меня например к нему в добавок стоят и другие расширения, и я без них никуда.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[7]: Зачем нужен ReSharper?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 03.02.20 12:32
Оценка:
Здравствуйте, Kolesiki, Вы писали:

I>> Выделение метода — это постоянный, каждодневный рефакторинг.


K>В индусокоде — да. У профессионалов есть определённая память, поэтому когда он пишет код, он вспоминает, что нечто похожее делается в другом месте. Поэтому дублирующий код В ПРИНЦИПЕ не создаётся.


Забавно, что из всех кейсов ты прицепился к одному — дублированию. А про остальные сказать вероятно нечего?

>Если же он у вас есть, ну так значит вы не понимаете свой проект! Это уже не проблема VS, тут ближе к квалификации разработчика.


Цитирую себя "Узнаю разработчика-одиночку c идеальной памятью"

K>Насколько я понял из всего диспута, решарпер НУЖЕН ДЖУНАМ. Это у них вермишель нуждается в упорядочивании + примитивные "подсказки по коду". Для профи от "среднего" и выше, решарпер — пятое колесо в телеге.


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

Вероятно, тут ты скажешь, что дизайн создаёшь на десятиления и он не меняется ?
Re[4]: Зачем нужен ReSharper?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 03.02.20 12:37
Оценка: +7
Здравствуйте, Kolesiki, Вы писали:

K>>>Брат, ты не один! Решарпер действительно БЫЛ когда-то полезным дополнением (напр, к студии 2005), потому что саму студию писали посредственности. Но сейчас, за годы улучшений, Студия получила кучу плюшек и теперь Решарпер в ней как пятое колесо — ничего, кроме тормозов не привносит.


I>>Узнаю разработчика-одиночку c идеальной памятью, который реализует закат солнца вручную


K>Узнаю гадалок в пёстрых платьях, которые по линиям руки всё сразу о тебе знают!


Насколько я понял, ты топишь исключительно за инкрементный подход к изменениям, "ровно там, где надо" и никаких рефакторингов.
Такой подход обычно там, где нет никаких тестов, документации и основной мотив "а вдруг навернётся!"

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

K>Милок, не сравнивай весь мир по себе. Если ты без решарпера как без рук — ради бога, но не считай всех остальных такими же убогими!


Ну как же, цитируем некоего Kolesiki:
"У профессионалов есть определённая память, поэтому когда он пишет код, он вспоминает, что нечто похожее делается в другом месте. Поэтому дублирующий код В ПРИНЦИПЕ не создаётся. Если же он у вас есть, ну так значит вы не понимаете свой проект! Это уже не проблема VS, тут ближе к квалификации разработчика."

Как видишь, всё сходится Ты сам пишешь, что у тебя идеальная память.

> Делаю, но не так часто, чтобы ставить это убожество. К тому же, я не пишу г***нокод, чтобы потом "экстрактить методы" по 100 штук


Начиная с сеньора основная работа идет чужим кодом, а у тебя "я не пишу г***нокод" Ты адекватен?

При чем здесь ты вообще? Кроме тебя других нет в команде? Ни легаси, ни заимствований из других проектов ? Ни изменений требований, ограничений, команды? Оптимизациями ты тоже не занимаешься?
Вероятно и дизайн создаёшь на десятиления вперёд
Отредактировано 03.02.2020 12:43 Pauel . Предыдущая версия .
Re[4]: Зачем нужен ReSharper?
От: vorona  
Дата: 03.02.20 12:46
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>Ок. Как это сделать в студии без дополнительных добавок ?

_NN>
  Скрытый текст
Image: TFwzSjN.gif


Не знаком с решарпером, чем это отличается от поиска текста?
Re[3]: Зачем нужен ReSharper?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 03.02.20 12:51
Оценка: +2
Здравствуйте, Kolesiki, Вы писали:

_NN>>Далее рефакторинг кода.

_NN>>У решарпера вагон правил, которых в студии нет.

K>Рефакторинг — признак тухлого, бестолково спроектированного кода. Сначала проектируем В ГОЛОВЕ, потом переносим в проект. Только так. Соотв. последующие рефакторинги не нуждаются в серьёзных и умных правках.


И требования никогда не меняются? Оптимизации не нужны ? Новые фичи не добавляются ? Миграции на новые технологии не случаются? И в команде только такие же Kolesiki ?

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


K>Ну так не нанимайте джунов! Пусть научатся проектировать, потом уже кнопки давить.


Джунов не брать. Легаси не трогать. Бизнес-логику не писать. Технологии не менять. Фичи не добавлять.
Что еще посоветуешь?

K>Там нечему "дотягивать" — возможностей студии по рефакторингу — за глаза. А писать г****внокод и потом эту вермишель "сортировать" — ну извини, тут программирование обсуждают, а не индусокод!


Так ты боишься этого индусокода? С этого и надо было начинать.

K>Короче, с адептами решарпера всё понятно: банда джунов набигает на код, писаный индусскими брахмапутрами. Извините, но это далеко не главная часть программирования!


Пиши, пиши
Re[6]: Зачем нужен ReSharper?
От: vorona  
Дата: 03.02.20 12:54
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I> Выделение метода — это постоянный, каждодневный рефакторинг. Как только нашлось дублирование — первое, о чем надо думать, это выделение метода. Выделение интерфейса, класса, абстрактного класса, базового класса, дочернего класса, утилитного класса, класса-параметра, фасада, контроллера, состояния — чего угодно, это все необходимо для трансформации дизайна.


Выделение метода есть в студии.
Re[7]: Зачем нужен ReSharper?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 03.02.20 12:57
Оценка:
Здравствуйте, vorona, Вы писали:

I>> Выделение метода — это постоянный, каждодневный рефакторинг. Как только нашлось дублирование — первое, о чем надо думать, это выделение метода. Выделение интерфейса, класса, абстрактного класса, базового класса, дочернего класса, утилитного класса, класса-параметра, фасада, контроллера, состояния — чего угодно, это все необходимо для трансформации дизайна.


V>Выделение метода есть в студии.


Спасибо! А все остальные кейсы чем покрыть?
Re[5]: Зачем нужен ReSharper?
От: Farsight СССР  
Дата: 03.02.20 13:43
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Поддержку докера уже завезли? Ну там чтобы dockerfile хотя бы умело генерить да отладку внутри контейнера запускать?


Насчет генерации не скажу, а отладку завезли.
</farsight>
Re[5]: Зачем нужен ReSharper?
От: _NN_ www.nemerleweb.com
Дата: 03.02.20 14:37
Оценка:
Здравствуйте, vorona, Вы писали:

V>Здравствуйте, _NN_, Вы писали:


_NN>>Ок. Как это сделать в студии без дополнительных добавок ?

_NN>>
  Скрытый текст
Image: TFwzSjN.gif


V> Не знаком с решарпером, чем это отличается от поиска текста?


Это и есть поиск текста, только не нужно ждать пока сканируются все файлы, а имеем готовый индекс.

Есть похожее расширение для студии FastFind
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[2]: Зачем нужен ReSharper?
От: ukrspecs  
Дата: 03.02.20 21:05
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>На 25 чловек один лид? Сурово.

Безусловно. Причем когда брали, говорили что будет человек 6-8. Потом толпа народу как повалила, что пришлось уходить мне, ибо казалось что попал в ад.


НС>В чем проблема купить лицензию?

Писал выше. Бюррократия. Менеджеры аутсорсера с менеджерами заказчика это обсуждать не хотели.


НС>Неверно поставленный вопрос. Верный вопрос — чем отличается средний код, написанный с решарпером от написанного без него?

НС>Слышал когда нибудь такое выражение — ReSharper clean code?

Слышал. Только без приставки ReSharper.
Re[4]: Зачем нужен ReSharper?
От: ukrspecs  
Дата: 03.02.20 21:08
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Здравствуйте, ukrspecs, Вы писали:


U>>- Find Usages меня устраивают, те что есть в VS. Если прям все-все искать — то стандартный поиск по solution тоже ок.


НС>Скорость и точность, мягко говоря, не та.


Попробуйте нажать "Ctrl+,", и удивитесь как быстро все находится в реалтайме.



U>> Хотя не любитель трогать, то что работает. И новых проектов тоже хватает.

U>>Привык руками делать

НС>Аутсорс, да? Ну тогда и правда, особо бороться за качество кода смысла нет. Работает — и ладно.


Сейчас фриланс. И уж где-где, а тут каждый час на счету. И если бы Решарпер экономил бы мне время — я бы им пользовался. Но он только увеличивает время загрузки и перебивает хоткеи.
Поэтому, извините.
В свое время юзал Visual Assist для плюсов — то было оправдано. Году так в 2010-ом.
Re[6]: Зачем нужен ReSharper?
От: ukrspecs  
Дата: 03.02.20 21:10
Оценка:
Здравствуйте, Mamut, Вы писали:

U>> крупной аутсорс компании

U>> крупный заказчик
U>> 500*25=12.5к евро дорого стоит

M>Вы точно крупная компания?


Так не о цене речь, а о бюрократии.
Вроде такого
https://youtu.be/nm5G-1Et0LE?t=30
Re[4]: Зачем нужен ReSharper?
От: ukrspecs  
Дата: 03.02.20 21:24
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, ukrspecs, Вы писали:

U>>- Создание интерфейса для какого-нибудь класса на 50 методов. Тоже редко такая задача появляется. Привык руками делать, но можно и так

I>Ок, расскажи, каким чудом ты будешь делать, преобразование, скажем, глубокой иерархии, скажем, в плоскую широкую. Плохая иерархия досталась от тех, неправильных девелоперов. На переписывание времени нет. Что делать?


Наследования вообще лучше избегать. И в целом любая задача решается без наворачивания абстракций на абстракции. В моих 70-ти фриланс проектах не было глубоких иерархий и нужды превращать их в плоские тоже.
Было условно 2 типа задач:
— Сделать так чтоб работало (и побыстрее). Bug fixes иначе говоря. Побыстрее — решается костылем, через какой нибудь делегат или utility class
— Написать все с нуля. Тут проблем никогда не было, все что я писал с нуля — работает до сих пор и расширяется без overengneering'а и прочей черной магии
Сейчас в меня полетят помидоры, за анти-девелоперский подход не по фен шую Страуструпу. Но мои клиенты предпочтут рабочую программу, которая приносит ценность. Нежели техническое совершенство внутри.
А если вы подумаете — "ха, быдлокодер", то в свою защиту могу сказать, что доход от такой деятельности раза в 4 выше зарплаты senior developer в конторе.
Re[5]: Зачем нужен ReSharper?
От: ukrspecs  
Дата: 03.02.20 21:27
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, ukrspecs, Вы писали:


U>>Сейчас времена поменялись и стараюсь брать только новые проекты. Через 14 лет на фрилансе можно-то, раз спрос есть


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


Нет, я избегаю проектов, где нужно ковырять чужой овно-код. Извините, на данном этапе — здоровье дороже. Ну а если уж придется опять в это окунуться, то ответа — зачем мне решарпер — я тут не нашел.
Основной аргумент — превращать иерархии и выделять интерфейсы — в моей деятельности это не сильно нужно. Точнее не нужно совсем.
Re[5]: Зачем нужен ReSharper?
От: Ночной Смотрящий Россия  
Дата: 03.02.20 21:40
Оценка:
Здравствуйте, ukrspecs, Вы писали:

НС>>Скорость и точность, мягко говоря, не та.

U>Попробуйте нажать "Ctrl+,", и удивитесь как быстро все находится в реалтайме.

Лучше ты попробуй в решарпере ctrl+N нажать. И попробовать сокращенные иденты набирать или * вставлять.

НС>>Аутсорс, да? Ну тогда и правда, особо бороться за качество кода смысла нет. Работает — и ладно.

U>Сейчас фриланс.

А фриланс это не аутсорс?

U> И уж где-где, а тут каждый час на счету. И если бы Решарпер экономил бы мне время — я бы им пользовался.


Решарпер экономит время на поддержании уровня качества кода. Причем чем больше и дольше проект и чем больше команда, тем больше экономит. А когда скорость важнее качества, то Решарпер особо то и не нужен.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[7]: Зачем нужен ReSharper?
От: Mamut Швеция http://dmitriid.com
Дата: 03.02.20 23:05
Оценка:
U>Так не о цене речь

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

Объяснить крупнейшей нефтяной компании в мире, что нам нужно дополнительных 500*25=12.5к евро на какой-то решарпер дорого стоит.





Ты говоришь исключительно о цене вопроса. Причем о цене, которая [i]для крупной компании[i] вообще не стоит.


dmitriid.comGitHubLinkedIn
Re[4]: Зачем нужен ReSharper?
От: Слава  
Дата: 04.02.20 04:09
Оценка: 3 (1) +2 :))
Здравствуйте, Ikemefula, Вы писали:

K>>Короче, с адептами решарпера всё понятно: банда джунов набигает на код, писаный индусскими брахмапутрами. Извините, но это далеко не главная часть программирования!

I>Пиши, пиши

Зачем с ним вообще разговаривать? Годы идут, а он пишет всё ту же ахинею и в неизменном стиле.
Re[5]: Зачем нужен ReSharper?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 04.02.20 07:42
Оценка: +2
Здравствуйте, ukrspecs, Вы писали:

U>В моих 70-ти фриланс проектах ...


70 проектов Это если всю жизнь работать, то проект будет меньше года. А если за 10 лет, то по месяцу-два на проект. Студенческий по сложности.

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

>Сделать так чтоб работало (и побыстрее). Bug fixes иначе говоря. Побыстрее — решается костылем, через какой нибудь делегат или utility class


U>А если вы подумаете — "ха, быдлокодер", то в свою защиту могу сказать, что доход от такой деятельности раза в 4 выше зарплаты senior developer в конторе.


Такой подход в долговременных проектах не работает, независимо от уровня ЗП.
Re[6]: Зачем нужен ReSharper?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 04.02.20 09:47
Оценка: +2
Здравствуйте, ukrspecs, Вы писали:

U>Нет, я избегаю проектов, где нужно ковырять чужой овно-код. Извините, на данном этапе — здоровье дороже. Ну а если уж придется опять в это окунуться, то ответа — зачем мне решарпер — я тут не нашел.


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

Зачем решарпер — затем, что в ём целая куча интрументов именно для этого кейса — чужой древний запутаный код, который ковбойским набегам более не поддаётся.
Re[6]: Зачем нужен ReSharper?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 04.02.20 10:20
Оценка:
Здравствуйте, ukrspecs, Вы писали:

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


U>Нет, я избегаю проектов, где нужно ковырять чужой овно-код. Извините, на данном этапе — здоровье дороже. Ну а если уж придется опять в это окунуться, то ответа — зачем мне решарпер — я тут не нашел.


Зачем решарпер в чужом коде — безопасно вводить изменения, когда кода например, просто слишком много, а какая нибудь абстракция проросла вообще везде


U>Основной аргумент — превращать иерархии и выделять интерфейсы — в моей деятельности это не сильно нужно. Точнее не нужно совсем.


В 70-ти фриланс проектах — таки да.
В длинных проектах такое случается вобщем довольно часто. Скажем, почти каждый год лично у меня тема plugability-replacability-extensibility-maintenability, наряду с разбиением-отчуждением-миграцией играет постоянно. Без внятного инструмента косяки случаются слишком часто.
Re[4]: Зачем нужен ReSharper?
От: Max Mustermann  
Дата: 04.02.20 12:46
Оценка: +1
Здравствуйте, Ночной Смотрящий, Вы писали:

V>>Это все есть в студии

НС>Это все появилось в студии относительно недавно.

Всё заявленое есть ну с 2015 студии точно, может и раньше. В ЕМНИП 2017 добавили 'Go to All', который ну не уступает решарперскому поиску, на чём, в принципе, список киллерфич решарпера можно считать закрытым.

НС>И не совсем все.


Из "непоявивщегося" нашли аж один довольно экзотический рефакторинг 'extract superclass'.

Вообще тот факт, что приходится вот прямо специально выискивать, какие же это хиртые функции есть в Решарпере, которых нет в студии из коробки как-бы полностью раскрывает его вот просто крайнюю необходимость.
Нет, если кто любит и согласен терпеть бесконечные "Visual Studio stopped responding for 11 seconds. Disabling the extension JetBrains ReSharper XXX might help" на проектах чуть крупнее "Hello world" ради бога.
Но в 2020 году история что R# прямо must have и "как без рук" мягко говоря преувеличение.
Re[5]: Зачем нужен ReSharper?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 04.02.20 12:55
Оценка: -1
Здравствуйте, Max Mustermann, Вы писали:

MM>Из "непоявивщегося" нашли аж один довольно экзотический рефакторинг 'extract superclass'.


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

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


Этот факт прежде всего говорит о твоём подходе в первую очередь, т.е. об отсутствии привычки наводить должны порядок в коде или отсутствии необходимости работать с чужим/легаси кодом.
Отредактировано 04.02.2020 13:21 Pauel . Предыдущая версия .
Re[5]: Зачем нужен ReSharper?
От: _NN_ www.nemerleweb.com
Дата: 04.02.20 13:26
Оценка: +1
Здравствуйте, Max Mustermann, Вы писали:

MM>Здравствуйте, Ночной Смотрящий, Вы писали:


V>>>Это все есть в студии

НС>>Это все появилось в студии относительно недавно.

MM>Всё заявленое есть ну с 2015 студии точно, может и раньше. В ЕМНИП 2017 добавили 'Go to All', который ну не уступает решарперскому поиску, на чём, в принципе, список киллерфич решарпера можно считать закрытым.


НС>>И не совсем все.


MM>Из "непоявивщегося" нашли аж один довольно экзотический рефакторинг 'extract superclass'.


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

Т.е. рефакторинг от Решарпера не нужен, а когда появляется аналогичная функциональность, то оказывается таки эти функции нужны ?

MM>Но в 2020 году история что R# прямо must have и "как без рук" мягко говоря преувеличение.

Так и раньше можно было без него, когда студия вообще ничего не умела.
Я точно не пользуюсь всеми 100%-ми функциональности Решарпера, но я ясно вижу как работают коллеги без него, и они выполняют в несколько раз больше действий приводящим к худшему результату.
Потом на код ревью приходится переделывать и это занимает ещё лишнее время.

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


Или например ещё полезная функциональность структурная замена кода:
https://www.jetbrains.com/help/resharper/Navigation_and_Search__Structural_Search_and_Replace.html
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[5]: Зачем нужен ReSharper?
От: Ночной Смотрящий Россия  
Дата: 04.02.20 14:29
Оценка: +3
Здравствуйте, Ikemefula, Вы писали:

>> Делаю, но не так часто, чтобы ставить это убожество. К тому же, я не пишу г***нокод, чтобы потом "экстрактить методы" по 100 штук

I>Начиная с сеньора основная работа идет чужим кодом, а у тебя "я не пишу г***нокод" Ты адекватен?

Он просто работает один, не в команде. Отсюда синдром первого парня на деревне в особо запущеной стадии. Что то ему объяснять в этом плане бессмысленно, он просто не поймет за отсутствием определенного опыта.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[7]: Зачем нужен ReSharper?
От: Ночной Смотрящий Россия  
Дата: 04.02.20 20:01
Оценка: +2
Здравствуйте, Kolesiki, Вы писали:

K>В индусокоде — да. У профессионалов есть определённая память, поэтому когда он пишет код, он вспоминает, что нечто похожее делается в другом месте. Поэтому дублирующий код В ПРИНЦИПЕ не создаётся.


Чувак, профессионалы работают в команде, поэтому В ПРИНЦИПЕ невозможно помнить весь код более менее крупного проекта.
Вот, п примеру, на текущем проекте за сегодня было 18 мержей в мастер. Всего коммитов было больше сотни. Это обычный рабочий день, ничем не выдающийся. Ты правда думаешь что это можно физически хотя бы просмотреть, не говоря уж о детальном запоминании?
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[8]: Зачем нужен ReSharper?
От: Ночной Смотрящий Россия  
Дата: 04.02.20 20:05
Оценка: +2
Здравствуйте, Ikemefula, Вы писали:

I>Собтсвенно джунам он нужен в последнюю очередь.


Джунам он тоже очень нужен. Просто для избегания моря глупых ошибок и помарок в коде. Хотя им самим может, конечно, казаться что он им не нужен, и они легко руками, с их то памятью про весь код проекта.
Опять же, уверен что если взять любой кусок кода уважаемых Колесиков, то он в решарпере запестрит кучей желтых проблем.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[7]: Зачем нужен ReSharper?
От: Ночной Смотрящий Россия  
Дата: 04.02.20 20:17
Оценка: +1
Здравствуйте, vorona, Вы писали:

V>Выделение метода есть в студии.


А, к примеру, автоматическая генерация проверок на null, причем с использованием конкретного фреймворка с ассертами? Как насчет дописывания switch expression отсутствующими кейсами? Что по поводу подсказок на предмет забытого в параметрах CancellationToken? Ну или такой банальщины как преобразование циклов в LINQ цепочки замены нескольких if на switch, замены if на тернарный оператор, замена as на is и т.п.?
Не, я сам не знаю что конкретно из перечисленного отсутствует в наипоследней студии, последний раз в голой студии ковырялся года полтора назад. Но когда ковырялся — таких мелочей было просто огромное количество. Каждая из них сама по себе не так чтобы критична, но в целом решарпер выполняет за меня огромнейшее количество работы по приведению кода в более приличное состояние.
Что же касается иллюзий по поводу того, что уж я то точно пишу код, который в причесывании не нуждается — решарпер находит реальные проблемы даже в проектах, которые долго вылизывали крутые спецы, проверено на практике.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[7]: Зачем нужен ReSharper?
От: Ночной Смотрящий Россия  
Дата: 04.02.20 20:22
Оценка: +1
Здравствуйте, ukrspecs, Вы писали:

U>Так не о цене речь, а о бюрократии.


Какая может быть бюрократия в покупке лицензий на инструменты разработки? Студию то вы как то покупаете ведь, хотя цена там в несколько раз больше.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[8]: Зачем нужен ReSharper?
От: vorona  
Дата: 04.02.20 21:14
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

Все это есть в source code analysis расширении для студии.
Re[9]: Зачем нужен ReSharper?
От: Ночной Смотрящий Россия  
Дата: 04.02.20 21:39
Оценка:
Здравствуйте, vorona, Вы писали:

V>Все это есть в source code analysis расширении для студии.


Я не про анализ, а про рефакторинг писал.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[8]: Зачем нужен ReSharper?
От: ukrspecs  
Дата: 04.02.20 21:40
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Здравствуйте, ukrspecs, Вы писали:


U>>Так не о цене речь, а о бюрократии.


НС>Какая может быть бюрократия в покупке лицензий на инструменты разработки? Студию то вы как то покупаете ведь, хотя цена там в несколько раз больше.


Слушай, ну я не сидел в топ-менеджменте, считали что и без решарпера справимся. Иначе нужно было всему отделу покупать, а эти расходы в этимейт не входили. Это ж не взял со своей кредитки и купил серийник,
там сотни человек крутилось вокруг проекта, что даже бесплатный софт свой не поставишь. Корпорация это называется.
Re[6]: Зачем нужен ReSharper?
От: ukrspecs  
Дата: 04.02.20 21:49
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, ukrspecs, Вы писали:


U>>В моих 70-ти фриланс проектах ...


I>70 проектов Это если всю жизнь работать, то проект будет меньше года. А если за 10 лет, то по месяцу-два на проект. Студенческий по сложности.

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

Где я написал, что 70 проектов были написаны лично мной? Меня бросали как правило в средних размеров проект, фиксить баги-добавлять фичи. Так чтоб с нуля писать — наверное штук 5-8. И это было больше года, и сейчас продолжается. Я параллельно на нескольких сижу. До 10 проектов одновременно.

I>Такой подход в долговременных проектах не работает, независимо от уровня ЗП.


Куча софта написано через задний проход, с одной целью — побыстрее выкатить релиз и поднять денег. Вот первое что пришло на ум — Skype, Slack, Windows 8/Vista, Xamarin тот же.
Такой подход — это то как большинство заказчиков видят разработку в целом. Х-як х-як и в продакшн.
Борцы за эталонную архитектуру и чистый код, как правило сидят уже на золотом унитазе и занимаются этими рефакторингами, абстрагированием, мета-программированием... что бы хоть чем то быть занятым в сопровождении.
Re[10]: Зачем нужен ReSharper?
От: vorona  
Дата: 05.02.20 05:36
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Я не про анализ, а про рефакторинг писал.


Прежде чем писать, надо было прочитать, что вам написали.
https://docs.microsoft.com/en-us/visualstudio/ide/common-quick-actions?view=vs-2019
Re[11]: Зачем нужен ReSharper?
От: Ночной Смотрящий Россия  
Дата: 05.02.20 07:29
Оценка:
Здравствуйте, vorona, Вы писали:

V>Прежде чем писать, надо было прочитать, что вам написали.

V>https://docs.microsoft.com/en-us/visualstudio/ide/common-quick-actions?view=vs-2019

Ну и? Далеко не все что я навскидку вспомнил там есть. А то что есть — ну вот те же null checks генерят жесткий паттерн, и если ты используешь библиотеку ассертов — получаем полный облом.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[7]: Зачем нужен ReSharper?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 05.02.20 09:58
Оценка:
Здравствуйте, ukrspecs, Вы писали:

I>>70 проектов Это если всю жизнь работать, то проект будет меньше года. А если за 10 лет, то по месяцу-два на проект. Студенческий по сложности.

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

U>Где я написал, что 70 проектов были написаны лично мной? Меня бросали как правило в средних размеров проект, фиксить баги-добавлять фичи. Так чтоб с нуля писать — наверное штук 5-8. И это было больше года, и сейчас продолжается. Я параллельно на нескольких сижу. До 10 проектов одновременно.


Сунуть нос в 70 проектов, если за всю сознательную жизнь, это с 20 лет до 70, получается целых 8 с половиной месяцев. Тащить 10 проектов одновременно, это в среднем в месяц по 16 часов на каждый. Если сидеть одновременно на нескольких, то слишком высокие издержки на переключние
Вобщем — нет ни единого шанса погрузиться на должную глубину.

Фиксить баги, добавлять фичи — это примерно то, чем занят мидл. Интересно, да? Для мидла как раз не так критично, есть решарпер или его нет, как для сеньора.

I>>Такой подход в долговременных проектах не работает, независимо от уровня ЗП.


U>Куча софта написано через задний проход, с одной целью — побыстрее выкатить релиз и поднять денег. Вот первое что пришло на ум — Skype, Slack, Windows 8/Vista, Xamarin тот же.


Так ты ж сам пишешь — наскоком, главное сделать и тд

Твои примеры крайне странные. Про Скайп и Винду еще можно как то согласиться, то Слак в целом стабильный, качественный и очень полезный. Про ксамарин — с ним не работал, но в целом от телерика впечатление крайне негативное.

U>Такой подход — это то как большинство заказчиков видят разработку в целом. Х-як х-як и в продакшн.

U>Борцы за эталонную архитектуру и чистый код, как правило сидят уже на золотом унитазе и занимаются этими рефакторингами, абстрагированием, мета-программированием... что бы хоть чем то быть занятым в сопровождении.

В майнтенансе по другому невозможно — кавалерийский наскок при выпуске следующей версии очень часто заканчивается плачевно. Я по природе что-то типа разработчик-патологоанатом или реаниматолог Приходися реанимировать упоротые вот такими ковбойскими приемами проекты. Каждый ковбой оставляет в проекте шлейф багов разного калибра, которые всплывают регулярно в течении всех последующих версий. Какая бы фича не пилилась, в ней обязательно будет баг, который ведет на строчку заминированую каким нибудь ковбоем. И как правило этот баг виден только при внятном ручном тестировании, например, бесит юзера а девелоперы его в упор не замечают. Пока тестировщик не найдет точную последовательность, баг не будет пофикшен.
Re[5]: Зачем нужен ReSharper?
От: akasoft Россия  
Дата: 05.02.20 12:34
Оценка:
Здравствуйте, Слава, Вы писали:

С>Зачем с ним вообще разговаривать? Годы идут, а он пишет всё ту же ахинею и в неизменном стиле.


Чтобы сохранять трезвость ума.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[8]: Зачем нужен ReSharper?
От: ukrspecs  
Дата: 05.02.20 21:26
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, ukrspecs, Вы писали:



I>Сунуть нос в 70 проектов, если за всю сознательную жизнь, это с 20 лет до 70, получается целых 8 с половиной месяцев. Тащить 10 проектов одновременно, это в среднем в месяц по 16 часов на каждый. Если сидеть одновременно на нескольких, то слишком высокие издержки на переключние

I>Вобщем — нет ни единого шанса погрузиться на должную глубину.

Были проекты которые делались за неделю и меньше. Были крупные на которых сидел 1.5-2 года. Незнаю что у тебя за арифметка, но для фриланса обычное дело брать много заказов.


I>Так ты ж сам пишешь — наскоком, главное сделать и тд


I>Твои примеры крайне странные. Про Скайп и Винду еще можно как то согласиться, то Слак в целом стабильный, качественный и очень полезный. Про ксамарин — с ним не работал, но в целом от телерика впечатление крайне негативное.


Слак съедает пол гига RAM'ы на минималках. И это внутри этой проги крутится еще Хромиум. Может он и стабильный, но тормозной до безобразия, не оптимизированный. Ксамарин до покупки Microsoft — это была адская боль, потому что падало все что могло упасть. Да и сейчас — это не образец стабильности.


I>В майнтенансе по другому невозможно — кавалерийский наскок при выпуске следующей версии очень часто заканчивается плачевно. Я по природе что-то типа разработчик-патологоанатом или реаниматолог Приходися реанимировать упоротые вот такими ковбойскими приемами проекты. Каждый ковбой оставляет в проекте шлейф багов разного калибра, которые всплывают регулярно в течении всех последующих версий. Какая бы фича не пилилась, в ней обязательно будет баг, который ведет на строчку заминированую каким нибудь ковбоем. И как правило этот баг виден только при внятном ручном тестировании, например, бесит юзера а девелоперы его в упор не замечают. Пока тестировщик не найдет точную последовательность, баг не будет пофикшен.


Да, мы с тобой с разных миров разработки, но даже работая в офисе — я обходился без шарпера.
Re[9]: Зачем нужен ReSharper?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 06.02.20 08:21
Оценка: +1
Здравствуйте, ukrspecs, Вы писали:

I>>Сунуть нос в 70 проектов, если за всю сознательную жизнь, это с 20 лет до 70, получается целых 8 с половиной месяцев. Тащить 10 проектов одновременно, это в среднем в месяц по 16 часов на каждый. Если сидеть одновременно на нескольких, то слишком высокие издержки на переключние

I>>Вобщем — нет ни единого шанса погрузиться на должную глубину.

U>Были проекты которые делались за неделю и меньше. Были крупные на которых сидел 1.5-2 года. Незнаю что у тебя за арифметка, но для фриланса обычное дело брать много заказов.


В том то и дело, ты вещаешь с позиции не просто фриланса, а ориентированого на короткие проекты. Если у тебя было 70 проектов, то ясно, что среди них не может быть много длинных.
1.5-2 года — небольшой срок вобще говоря.

U>Слак съедает пол гига RAM'ы на минималках. И это внутри этой проги крутится еще Хромиум. Может он и стабильный, но тормозной до безобразия, не оптимизированный.


Сколько кто съедает — не интересно, со стабильностью проблема нет. Потребление в пересчете на стоимость гб памяти никакое не примечательное. Скажем, в те время, когда RAM Было 64-256мб было полно полезного софта который "выжирал" ококоло четверти этой RAM. И ничего. Полгига — это в худшем случае десятая часть.

>Ксамарин до покупки Microsoft — это была адская боль, потому что падало все что могло упасть. Да и сейчас — это не образец стабильности.


Про другие продукты от телерика аналогичные отзывы и так уже лет 10 наверное.

I>>В майнтенансе по другому невозможно — кавалерийский наскок при выпуске следующей версии очень часто заканчивается плачевно. Я по природе что-то типа разработчик-патологоанатом или реаниматолог Приходися реанимировать упоротые вот такими ковбойскими приемами проекты. Каждый ковбой оставляет в проекте шлейф багов разного калибра, которые всплывают регулярно в течении всех последующих версий. Какая бы фича не пилилась, в ней обязательно будет баг, который ведет на строчку заминированую каким нибудь ковбоем. И как правило этот баг виден только при внятном ручном тестировании, например, бесит юзера а девелоперы его в упор не замечают. Пока тестировщик не найдет точную последовательность, баг не будет пофикшен.


U>... но даже работая в офисе — я обходился без шарпера.


Так ты потому и пошел во фриланс, что он был для тебя близок Не само ведь это произошло — шел, шел в офис, и каким то чудом оказался не в офисе утром, а в разгаре фриланса на 70ти проектах разом.

U> Да, мы с тобой с разных миров разработки, ...


Если у тебя много опыта, это не значит, что он абсолютный и всеъобъемлющий. Такого не бывает. Ответ на твой вопрос на решарпер именно в этом — фриланс, короткие проекты и нежелание работать с чужим кодом.
Вот и всё — никаких чудес.

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

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

Для каждого кейса есть свои ключевые склилы-свойства-обязанности. А вот даже степень владения ЯП или VM для всех будет сильно разной. Одним надо ширина обхвата, другим глубина погружения, третьим — коммуникация, четвертым — владение мат-методами в конкретно заданой области.

И девелоперы, которые долго работают в своей области, обычно с большим трудом интегрируются в другие. Это факт, его можно только признать. Есть и исключения — суровые всемогуторы, герои легенд всех времён и народов. Теоретически, они есть в природе, но чем дальше в будущее, тем чаще в легендах.
Отредактировано 06.02.2020 9:23 Pauel . Предыдущая версия . Еще …
Отредактировано 06.02.2020 9:17 Pauel . Предыдущая версия .
Re[10]: Зачем нужен ReSharper?
От: Mamut Швеция http://dmitriid.com
Дата: 06.02.20 11:08
Оценка: +1
I>И девелоперы, которые долго работают в своей области, обычно с большим трудом интегрируются в другие. Это факт, его можно только признать. Есть и исключения — суровые всемогуторы, герои легенд всех времён и народов. Теоретически, они есть в природе, но чем дальше в будущее, тем чаще в легендах.

Причем часто после таких героев-всемогуторов надо еще года два вычищать проекты Они, правда, очень сильно попогают на старте стартапов именно в силу всемогуторности.


dmitriid.comGitHubLinkedIn
Re[10]: Зачем нужен ReSharper?
От: ukrspecs  
Дата: 07.02.20 21:15
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>В том то и дело, ты вещаешь с позиции не просто фриланса, а ориентированого на короткие проекты. Если у тебя было 70 проектов, то ясно, что среди них не может быть много длинных.

I>1.5-2 года — небольшой срок вобще говоря.

Вот последний проект на котором просидел 1.5 года, лепят 8 лет к ряду уже. Естественно чужого кода там чуть менее чем весь. Однако за рефакторинг могли бить по рукам, задача обычно сводится к тому чтобы работало. А рефакторинг по дефолту — это что-то упустить и навернуть всю систему. Первое правило ж — работает — не трожь.

U>>Слак съедает пол гига RAM'ы на минималках. И это внутри этой проги крутится еще Хромиум. Может он и стабильный, но тормозной до безобразия, не оптимизированный.


I>Сколько кто съедает — не интересно, со стабильностью проблема нет. Потребление в пересчете на стоимость гб памяти никакое не примечательное. Скажем, в те время, когда RAM Было 64-256мб было полно полезного софта который "выжирал" ококоло четверти этой RAM. И ничего. Полгига — это в худшем случае десятая часть.


Пол гига для простого чатика — это не то что много — это катастрофически неприемлимо. Тоже самое можно сказать и про Viber, Telegram и WhatsApp отчасти. Однако они нативные, не browser-based, насколько знаю.

>>Ксамарин до покупки Microsoft — это была адская боль, потому что падало все что могло упасть. Да и сейчас — это не образец стабильности.


I>Про другие продукты от телерика аналогичные отзывы и так уже лет 10 наверное.


Вы наверное что-то путаете, или я чего-то незнаю, Xamarin — самостоятельная разработка компании под одноименным названием, на основе Моно. Идея эта пришла некоему Бразильцу
Мигелю Де Иказа. Телерик — это из области создания UI компнонентов, из другой оперы совсем,



I>Так ты потому и пошел во фриланс, что он был для тебя близок Не само ведь это произошло — шел, шел в офис, и каким то чудом оказался не в офисе утром, а в разгаре фриланса на 70ти проектах разом.


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

I>Если у тебя много опыта, это не значит, что он абсолютный и всеъобъемлющий. Такого не бывает. Ответ на твой вопрос на решарпер именно в этом — фриланс, короткие проекты и нежелание работать с чужим кодом.

I>Вот и всё — никаких чудес.

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


I>Небольшое отступление. Не бывает оценок вида "хорош вообще". Оценка всегда применима только в связке с конкретной целью, контекстом.

Разумеется.
Re[11]: Зачем нужен ReSharper?
От: Ночной Смотрящий Россия  
Дата: 08.02.20 19:36
Оценка: +2
Здравствуйте, ukrspecs, Вы писали:

U>Вот последний проект на котором просидел 1.5 года, лепят 8 лет к ряду уже. Естественно чужого кода там чуть менее чем весь. Однако за рефакторинг могли бить по рукам, задача обычно сводится к тому чтобы работало. А рефакторинг по дефолту — это что-то упустить и навернуть всю систему. Первое правило ж — работает — не трожь.


И ты такие проекты приводишь в качестве примера почему решарпер не нужен? Серьезно?

U>Я и не претендую на совершенное мнение, тем более в контексте разработчика в офисе на долгоиграющем проекте. Да я вообще мало что могу рассказать про такую работу, кроме того что мне кажется это дико скучным и бесперспективным, мусолить годами один и тот же код.


А тебе в принципе как, кажется скучным довести хотя бы какое нибудь дело до конца? Или для тебя процесс важнее результата?
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[11]: Зачем нужен ReSharper?
От: Mamut Швеция http://dmitriid.com
Дата: 09.02.20 11:01
Оценка:
U>Вот последний проект на котором просидел 1.5 года, лепят 8 лет к ряду уже. Естественно чужого кода там чуть менее чем весь. Однако за рефакторинг могли бить по рукам, задача обычно сводится к тому чтобы работало. А рефакторинг по дефолту — это что-то упустить и навернуть всю систему. Первое правило ж — работает — не трожь.

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

U>Я и не претендую на совершенное мнение, тем более в контексте разработчика в офисе на долгоиграющем проекте. Да я вообще мало что могу рассказать про такую работу, кроме того что мне кажется это дико скучным и бесперспективным, мусолить годами один и тот же код.


Ну то есть твоя работа — это прискакать на пару месяцев на проект, наговнякать код неважно какого качества и ускакать. Разбираться в проектах времени нет (это же скучно), рефакторить времени нет (не разобравшись в проекте можно что-то упустить и навернуть всю систему).

Ну да. В таких условиях и vim с grep'ом — инструменты на острие прогресса, больше ничего не надо.


ЗЫ. Такой подход тоже работает (этим живут все консалтинговые конторы). И да, при таком подходе РеШарпер и прочие инструменты не нужны.


dmitriid.comGitHubLinkedIn
Отредактировано 09.02.2020 11:02 Mamut [ищите в других сетях] . Предыдущая версия .
Re[11]: Зачем нужен ReSharper?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 10.02.20 08:08
Оценка:
Здравствуйте, ukrspecs, Вы писали:

U>Вот последний проект на котором просидел 1.5 года, лепят 8 лет к ряду уже. Естественно чужого кода там чуть менее чем весь. Однако за рефакторинг могли бить по рукам, задача обычно сводится к тому чтобы работало. А рефакторинг по дефолту — это что-то упустить и навернуть всю систему. Первое правило ж — работает — не трожь.


Странное у тебя понимание рефакторинга. Можно подробнее, как рефакторинг может навернуть систему? Ты его с переписыванием не путаешь?
В целом, правильное определение, что же такое рефакторинг, это уверенный признак очень годного сеньора У молодых рефакторинг это просто последовательность каких то изменений в коде, после которых, по мнению разработчика, всё должно стать лучше — эдакий улучшайзер.
Тут хотелось бы подробностей, за что именно бьют по рукам — за рефакторинг, или за улучшайзер.

U>Пол гига для простого чатика — это не то что много — это катастрофически неприемлимо. Тоже самое можно сказать и про Viber, Telegram и WhatsApp отчасти. Однако они нативные, не browser-based, насколько знаю.


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

U>Я и не претендую на совершенное мнение, тем более в контексте разработчика в офисе на долгоиграющем проекте. Да я вообще мало что могу рассказать про такую работу,


Это и есть основная причина, по которой ты не понимаешь Решарпер.

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


Если ты мусолишь годами одно и то же, следовательно не можешь это изменить, отсюда и скука. При рефакторинге код у тебя меняется непрерывно, эволюционирует, соответственно, не надо его мусолить годами.
Перспективы — движение вперед, не быстрое, но стабильное, потому как крайне редко возвращаешься к уже готовым, работающим вещам — они просто работают, а не оттягивают на себя внимание. Соответственно, ты растешь — масштаб твоей работы увеличивается.

То есть, ты путаешь рефакторинг с его отсутствием. И как следствие инструмент тебе видится лишним.
Re[12]: Зачем нужен ReSharper?
От: ukrspecs  
Дата: 10.02.20 21:12
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Здравствуйте, ukrspecs, Вы писали:


НС>И ты такие проекты приводишь в качестве примера почему решарпер не нужен? Серьезно?


Какие такие? Пользователей >1m — это мало.

U>>Я и не претендую на совершенное мнение, тем более в контексте разработчика в офисе на долгоиграющем проекте. Да я вообще мало что могу рассказать про такую работу, кроме того что мне кажется это дико скучным и бесперспективным, мусолить годами один и тот же код.


НС>А тебе в принципе как, кажется скучным довести хотя бы какое нибудь дело до конца? Или для тебя процесс важнее результата?


Я много чего довел до конца, с нуля в том числ6. Сейчас результат важнее, раньше был процесс.
Re[12]: Зачем нужен ReSharper?
От: ukrspecs  
Дата: 10.02.20 21:31
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Странное у тебя понимание рефакторинга. Можно подробнее, как рефакторинг может навернуть систему? Ты его с переписыванием не путаешь?

I>В целом, правильное определение, что же такое рефакторинг, это уверенный признак очень годного сеньора У молодых рефакторинг это просто последовательность каких то изменений в коде, после которых, по мнению разработчика, всё должно стать лучше — эдакий улучшайзер.
I>Тут хотелось бы подробностей, за что именно бьют по рукам — за рефакторинг, или за улучшайзер.

Ой, ну те же разбивки на методы и выделение интерфейсов, могут вылезти боком. А скрытая причина может быть любая на ваш вкус: 1) рефлексия, а идентификатор сменил имя. 2) сериализация-десериализация, когда конфиг файл привязан к имени идентификатора 3) Bindings данных к UI сломать в два щелчка можно 4) Та же история с API запросами, когда объект приходит с сервера, а он уже отрефакторен.
Да в целом любая внешняя привязка, будь то БД, файл, API или что нибудь еще запросто валится при этом вашем рефакторинге. Вы мне сейчас начнете рассказывать про юнит-тесты и толпу QA которые все это прогоняют, но речь не об этом. Ты спросил — я ответил. Когда работаешь один в цейтноте, то любые изменения требуют regression testing. А я один или еще с парой человек не буду этим заниматься. И главная мысль — что решарпер не учитывает то, что происходит за пределами кода.

I>Слак это органайзер для командной работы. По количеству и сложности функционала он превосходит и вайбер, и телеграм, и воцап вместе взятые.


Если бы он превосходил по сложности — то компания Slack была бы больше перечисленных. У последних — high-load настолько high, что Слаку и не снилось.


I>Это и есть основная причина, по которой ты не понимаешь Решарпер.


Заметь не только я. Тут еще дюжина коллег с аналогичным мнением. А упорно топишь за R# только ты. JetBrains Evangelist?


I>Если ты мусолишь годами одно и то же, следовательно не можешь это изменить, отсюда и скука. При рефакторинге код у тебя меняется непрерывно, эволюционирует, соответственно, не надо его мусолить годами.

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

Я имел ввиду один проект — одну предметную область — один стек. Годами. Веселей смотреть как на заборе краска сохнет.
У нас видимо задачи в духе добавить строчку в лог растянуты на пару недель? У меня за пару недель может быть добрая половина нового мобильного приложения написана.
Ну кому что. Как ты говорил — это не хорошо и не плохо.
Re[13]: Зачем нужен ReSharper?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 11.02.20 08:30
Оценка: +2
Здравствуйте, ukrspecs, Вы писали:

I>>Тут хотелось бы подробностей, за что именно бьют по рукам — за рефакторинг, или за улучшайзер.


U>Ой, ну те же разбивки на методы и выделение интерфейсов, могут вылезти боком. А скрытая причина может быть любая на ваш вкус: 1) рефлексия, а идентификатор сменил имя. 2) сериализация-десериализация, когда конфиг файл привязан к имени идентификатора 3) Bindings данных к UI сломать в два щелчка можно 4) Та же история с API запросами, когда объект приходит с сервера, а он уже отрефакторен.


Вот о чем я и говорю — у вас странный рефакторинг, который вносит ломающие изменения Потому и по рукам бьют, потому как это никакой не рефакторинг.

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

U>Да в целом любая внешняя привязка, будь то БД, файл, API или что нибудь еще запросто валится при этом вашем рефакторинге. Вы мне сейчас начнете рассказывать про юнит-тесты и толпу QA которые все это прогоняют, но речь не об этом. Ты спросил — я ответил.


Я тебе страшную вещь скажу — рефакторинг это не панацея и как раз все внешние привязки рефакторингу не поддаются в общем случае. Но разве проект состоит из одних этих привязок?

> Когда работаешь один в цейтноте, то любые изменения требуют regression testing. А я один или еще с парой человек не буду этим заниматься.


Как ловко то. А если руками фиксануть, то такое изменение уже не требует таких тестов? Шикарно ты себя раскрыл

>И главная мысль — что решарпер не учитывает то, что происходит за пределами кода.


А разве где то говорилось, что решарпер позволяет бездумно вносить изменения?

I>>Это и есть основная причина, по которой ты не понимаешь Решарпер.


U>Заметь не только я. Тут еще дюжина коллег с аналогичным мнением. А упорно топишь за R# только ты. JetBrains Evangelist?


А если _внимательно_ посмотреть?

U>Я имел ввиду один проект — одну предметную область — один стек. Годами. Веселей смотреть как на заборе краска сохнет.


Именно. Все время лезешь в глубину, набираешься опыта, который короткими приложениями принципиально не берётся.
Отредактировано 11.02.2020 8:41 Pauel . Предыдущая версия .
Re[13]: Зачем нужен ReSharper?
От: Ночной Смотрящий Россия  
Дата: 11.02.20 08:54
Оценка:
Здравствуйте, ukrspecs, Вы писали:

НС>>И ты такие проекты приводишь в качестве примера почему решарпер не нужен? Серьезно?

U>Какие такие?

Однако за рефакторинг могли бить по рукам, задача обычно сводится к тому чтобы работало. А рефакторинг по дефолту — это что-то упустить и навернуть всю систему. Первое правило ж — работает — не трожь.

... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[11]: Зачем нужен ReSharper?
От: alexzzzz  
Дата: 12.02.20 14:10
Оценка:
Здравствуйте, ukrspecs, Вы писали:

U>Вы наверное что-то путаете, или я чего-то незнаю, Xamarin — самостоятельная разработка компании под одноименным названием, на основе Моно. Идея эта пришла некоему Бразильцу

U>Мигелю Де Иказа. Телерик — это из области создания UI компнонентов, из другой оперы совсем,

Мигель мексиканец, бывший.
Re[12]: Зачем нужен ReSharper?
От: ukrspecs  
Дата: 14.02.20 15:50
Оценка: +1
Здравствуйте, alexzzzz, Вы писали:

A>Здравствуйте, ukrspecs, Вы писали:


U>>Вы наверное что-то путаете, или я чего-то незнаю, Xamarin — самостоятельная разработка компании под одноименным названием, на основе Моно. Идея эта пришла некоему Бразильцу

U>>Мигелю Де Иказа. Телерик — это из области создания UI компнонентов, из другой оперы совсем,

A>Мигель мексиканец, бывший.


Re[11]: Зачем нужен ReSharper?
От: Ops Россия  
Дата: 17.02.20 02:06
Оценка:
Здравствуйте, ukrspecs, Вы писали:

U>Пол гига для простого чатика — это не то что много — это катастрофически неприемлимо. Тоже самое можно сказать и про Viber, Telegram и WhatsApp отчасти. Однако они нативные, не browser-based, насколько знаю.


Десктопный вацап — браузерный, со встроенным движком, причем отвратительно работающий; по памяти не смотрел, но может и жрет сравнимо. Без приложения, просто в браузере, он хотя бы не глючит.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[14]: Зачем нужен ReSharper?
От: Kolesiki  
Дата: 18.02.20 10:41
Оценка: -2
Ну всё? Вы уже пришли к неизбежному осознанию того, что Решарпер не нужен?
Запомните, дети! Смотрите всегда в суть вещей. Resharper — это продукт на продажу. У него крайне косвенные цели "сделать ваш код лучше". В основном, его наполнение — это свистелки-перделки для галочки. Проф. разрабам они не нужны. А начинающие наговнокодят что с шарпером, что без. После осознания, что такое "продукт", отпадают все вопросы. Ну, разве что у вас у каждого по банке пива и вам всё равно, о чём спорить.
Re: Зачем нужен ReSharper?
От: morgot  
Дата: 21.02.20 15:47
Оценка: :)))
Здравствуйте, ukrspecs, Вы писали:
..
Он нужен нубам, не умеющим даже иф-елсе написать без IDE.
Re[2]: Зачем нужен ReSharper?
От: wl. Россия  
Дата: 21.02.20 19:28
Оценка:
Здравствуйте, morgot, Вы писали:

M>Здравствуйте, ukrspecs, Вы писали:

M>..
M>Он нужен нубам, не умеющим даже иф-елсе написать без IDE.

Да, вообще, навыдумывают синтаксисов языков, жизни не хватит, чтобы все изучить, еще и новый выдумывают чуть не каждый месяц.
Пора бы всё унифицировать
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.