ReSharper

програмне забезпечення

ReSharper (R#)додаток (add-on), розроблений компанією JetBrains для збільшення продуктивності роботи та автоматизації рефакторингу в середовищі Microsoft Visual Studio (підтримуються версії: 2003, 2005, 2008, 2010, 2012, 2013, 2015, 2017).

ReSharper
ReSharper
Тип додаток для Microsoft Visual Studio з 2003 по 2015
Розробник JetBrains
Стабільний випуск 2016.1 (для VS 2015, 2013, 2012 and 2010) (14 квітня 2016; 8 років тому (2016-04-14))
Версії 2022.2.2 (22 серпня 2022)[1]
Операційна система Microsoft Windows
Ліцензія персональна, комерційна, за підпискою $13-$65 / міс.
Вебсайт jetbrains.com/resharper/

Здійснює миттєвий статичний аналіз коду (без потреби компіляції), передбачає додаткові засоби автозаповнення, навігації, пошуку, виділення синтаксису, форматування, оптимізації та генерації коду, надає близько 40 автоматизованих рефакторингів, спрощує модульне тестування в середовищах MSTest та NUnit.

Остання версія ReSharper 2016.1 для Visual Studio 2015, 2013, 2012 and 2010 була випущена в 2016. Забезпечено підтримку мов C# 6.0, VB11, JavaScript, CSS, HTML, ASP.NET, ASP.NET MVC, Razor, XML, XAML, WinRT, сценаріїв MSBuild та NAnt.

ReSharper є комерційним програмним продуктом. З 2015 року пропонується за підпискою. Мінімальна вартість щомісячної платні $12.9 для індивідуальних розробників. Однак, JetBrains надає можливість завантаження пробної версії програми на 30 днів.

Вступ ред.

ReSharper - поширений інструмент для підвищення продуктивності роботи, що дозволяє істотно збільшити функціональність Microsoft Visual Studio. Тисячі .NET розробників по всьому світу використовують ReSharper для перевірки коду, здійснення автоматичного рефакторингу та одержання допомоги в написанні якісного програмного коду. В даній статті наведено основні рекомендації щодо використання даної програми при розробці сучасних програмних продуктів.

Функції ReSharper ред.

Аналіз якості коду ред.

В арсеналі ReSharper передбачено понад 1300 перевірок коду. Програма підкреслює знайдені помилки просто у вікні редактора Visual Studio, і додатково відображає їх за допомогою відповідних маркерів. Індикатор у верхній частині панелі маркерів змінює свій колір та значок, якщо досліджуваний файл містить помилки або проблеми.

Помилки та попередження ред.

Помилки в програмі ReSharper відстежуються в режимі реального часу та виділяються червоним шрифтом або хвилястим підкресленням. Якщо навести вказівник миші на помилку, її опис буде виведено за допомогою відповідної підказки.

 

Крім того, ReSharper здійснює детектування ділянок коду, що не стають на заваді компіляції, але можуть суттєво знижувати якість розробленого продукту та перетворювати його на "бидлокод". Наприклад, ReSharper показує інформацію про посилання на простори імен та складання що не використовуються, неправильний формат рядків, оголошені, але не використані змінні тощо. Відповідні конструкції позначаються сірим кольором.

 

Рекомендації ред.

У цьому випадку ReSharper здійснює більш глибокий аналіз коду. За даними з офіційного сайту, ReSharper лише привертає увагу розробника до тих конструкцій, які потенційно можуть бути покращені. Наприклад, ReSharper може запропонувати перетворити цикл до LINQ-виразу, використати ключове слово "var" та ін. Відповідні рекомендації виділяються зеленим кольором.

Поради ред.

Найменш надокучливими та помітними повідомленнями ReSharper є поради. На відміну від помилок, попереджень та рекомендацій, вони лише показують можливі шляхи збільшення якості програмних конструкцій.

Швидкі виправлення ред.

ReSharper надає можливість швидкого усунення більшості помилок, та дозволяє розв'язувати всі можливі проблеми миттєво. Швидкі виправлення представлено червоними (для помилок) та жовтими (в інших випадках) лампочками, які з'являються автоматично ліворуч від обраного рядка коду. Натиснувши на символ лампочки або ввівши комбінацію Alt + Enter, обираємо необхідну позицію зі списку і проблему буде вирішено в найбільш зручному вигляді:

 

Рефакторинг ред.

Набір функцій ReSharper для рефакторингу значно перевищує за кількістю та зручністю використання вбудовані засоби середовища Visual Studio. У програмі забезпечено можливість відповідного покращення коду в мові C #, переважна більшість рефакторингів також доступні в VB.NET, деякі в JavaScript, XAML та інших підтримуваних мовах. Для здійснення рефакторингу необхідно лише навести курсор на відповідний блок коду. Деякі з підтримуваних рефакторингів наведено далі:

Зміна сигнатури методу ред.

Цей рефакторинг дозволяє змінити сигнатуру методу у такі способи:

  • Додавання, видалення, перейменування або зміна порядку параметрів;
  • Зміна типу результату, що повертається;
  • Зміна типів параметрів;
  • Перейменування методу.

Після зміни сигнатури методу, ReSharper оновлює всі його виклики, реалізації та перевизначення, підтримуючи працездатність коду.

Перетворення інтерфейсу до абстрактного класу і навпаки ред.

За допомогою даного рефакторингу всі відповідні перетворення будуть зроблені. Перед його пристосуванням автоматично виконується перевірка на наявність конфліктів. Наприклад, перед застосуванням рефакторингу "Перетворити інтерфейс для абстрактного класу" маємо:

Після його пристосування, відповідно, маємо:

Перетворення непорожнього методу до властивості і навпаки ред.

Існує можливість перетворення властивості до пари методів за допомогою програми ReSharper. Наприклад, маємо:

Виділення класу, суперкласу та інтерфейсу ред.

За допомогою виділення класу можна розкласти складний клас на окремі, простіші структури. ReSharper допоможе Вам вибрати методи і поля, щоб перейти від старого до нового класу. Він також буде попереджати про будь-які порушення залежностей і проблеми доступності, запропонує варіанти розв'язання конфлікту.

За допомогою рефакторингу виділення суперкласу можна створити базовий клас для наявних у програмі класів. Для цього слід лише помістити курсор на оголошення класу, обрати члени для виділення і запустити рефакторинг. Особливо корисним може бути його використання при переміщенні деякої спільної логіки для окремих класів.

Автоматична генерація програмного коду ред.

В ReSharper існує можливість використання методу, властивості, поля змінної або навіть класу, перш ніж відповідні елементи будуть оголошені в програмному коді. ReSharper спритно запропонує виправити та доповнити створені автоматично блоки для таких структурних елементів. Наприклад, при автоматичному створенні методу з використанням ReSharper, необхідно додатково визначити тип результату що повертається, а також типи його параметрів.

Недоліки ReSharper ред.

  • Повільна робота та більш тривале завантаження середовища Visual Studio після встановлення програми;

Слід зазначити, що за замовченням ReSharper визначає правило іменування приватних змінних за зразком "_х" з використанням символу підкреслення, що в мові C# не рекомендується. Для коректного налаштування середовища ReSharper слід обрати вкладку "Options":

Далі відкриваємо вузол Code Editing/C#/C# Naming Style. Обираємо необхідне правило іменування і вилучаємо символ підкреслювання в полі "Name Prefix":

 

Подібні програми ред.

BugAid for Visual Studio ред.

За допомогою цього плагіна можливе істотне полегшення процесу відладки в мові C#. Надає можливості пошуку комплесних об'єктів, візуалізації комплексних виразів тощо.

Visual Assist X ред.

Visual Assist X — плагін для Microsoft Visual Studio, розроблений Whole Tomato. В основному даний плагін доповнює роботу IntelliSense та підсвітку синтаксису коду.

CodeRush ред.

CodeRush здійснює статичний аналіз коду (миттєве виявлення помилок без потреби компіляції), підтримує додаткові можливості виявлення та корекції помилок, автозавершення коду, навігацію, пошук, підсвітку синтаксису, форматування, створення та оптимізацію коду, виконує більше 180 автоматичних покращень, спрощене модульне тестування за допомогою NUnit, XUnit, MbUnit та MSTest, а також інші функції.

Refactor! Pro for Visual Studio ред.

Поширена система автоматизації та спрощення рефакторингу.

Література ред.

  1. Other Versions