ReSharper

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/

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

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

Поради

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

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

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

Швидкі виправлення в середовищі ReSharper

Рефакторинг

Набір функцій 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":

Зміна правила іменування приватних змінних в середовищі Resharper

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

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

Read other articles:

Muhacir tiba di Istanbul, Turki, pada tahun 1912. Muhacir, Macırlar, atau Muhajir, adalah istilah yang mengacu kepada sekitar 10 juta Muslim Utsmaniyah (termasuk orang Turki, Albania, Bosniak, Adighe, Tatar Krimea dan Pomak) yang bermigrasi ke Anatolia dari akhir abad ke-18 hingga abad ke-20. Pada awalnya, sekitar 5-7 juta pendatang Muslim dari wilayah asing tiba di Anatolia dari tahun 1783 hingga 1914. Migrasi pada akhir abad ke-19 dan awal abad ke-20 disebabkan oleh kekalahan Utsmaniyah da...

 

 

Cari artikel bahasa  Cari berdasarkan kode ISO 639 (Uji coba)  Kolom pencarian ini hanya didukung oleh beberapa antarmuka Halaman bahasa acak Bahasa Sachsen Kuno Sahsisk Jerman Hilir Kuno WilayahJerman barat laut, Belanda timur laut, Denmark selatan (Schleswig utara).EtnisBangsa SachsenEraabad ke-8 hingga ke-12. Berkembang menjadi bahasa Sachsen Hilir Pertengahan pada akhir abad ke-12. Rumpun bahasaIndo-Eropa JermanikJermanik BaratJermanik Laut UtaraSachsen Kuno Sistem penulisanAlfa...

 

 

Rougeole Exanthème morbilliforme, éruption typique de rougeole. Données clés Causes Virus de la rougeole (Genre Morbillivirus / Famille Paramyxoviridae) Transmission Transmission aéroportée (d) Incubation min 6 j ou 7 j Incubation max 19 j ou 21 j Symptômes Fièvre, toux, rhinorrhée, éruption maculopapuleuse (en), adénopathie, anorexie, diarrhée, Signe de Köplik, conjonctivite et catarrhe oculo-nasal (d) Traitement Prévention Vaccination Traitement Soins de support (d) Spéciali...

العلاقات الإكوادورية السودانية الإكوادور السودان   الإكوادور   السودان تعديل مصدري - تعديل   العلاقات الإكوادورية السودانية هي العلاقات الثنائية التي تجمع بين الإكوادور والسودان.[1][2][3][4][5] مقارنة بين البلدين هذه مقارنة عامة ومرجعية للدو�...

 

 

South African cricketer Wayne ParnellParnell in 2010Personal informationFull nameWayne Dillon ParnellBorn (1989-07-30) 30 July 1989 (age 34)Port Elizabeth, Cape Province, South AfricaNicknamePigeon,[1] ParnyHeight6 ft 2 in (1.88 m)BattingLeft-handedBowlingLeft-arm medium-fastRoleBowlerInternational information National sideSouth Africa (2009–present)Test debut (cap 307)14 January 2010 v EnglandLast Test6 October 2017 v Bangladesh...

 

 

This article may rely excessively on sources too closely associated with the subject, potentially preventing the article from being verifiable and neutral. Please help improve it by replacing them with more appropriate citations to reliable, independent, third-party sources. (December 2021) (Learn how and when to remove this template message) Seal of the Maryland National Guard The Maryland Military Department (MMD) is a department of the State of Maryland directed by the adjutant general of ...

Prime Minister of Denmark (1866–1946) Carl Theodor Zahle5th Prime Minister of DenmarkIn office21 April 1918 – 30 March 1920MonarchChristian XPreceded byHimself (as Council President)Succeeded byOtto LiebeCouncil President of DenmarkIn office28 October 1909 – 5 July 1910MonarchFrederik VIIIPreceded byLudvig Holstein-LedreborgSucceeded byKlaus BerntsenIn office21 June 1913 – 20 April 1918MonarchChristian XPreceded byKlaus BerntsenSucceeded byHimself (as Pr...

 

 

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Weightlifting at the Summer Olympics – news · newspapers · books · scholar · JSTOR (September 2016) (Learn how and when to remove this message) Weightlifting at the Summer OlympicsIOC Discipline CodeWLFGoverning bodyIWFEvents14 (men: 7; women: 7)Games 1896 190...

 

 

Сельское поселение России (МО 2-го уровня)Новотитаровское сельское поселение Флаг[d] Герб 45°14′09″ с. ш. 38°58′16″ в. д.HGЯO Страна  Россия Субъект РФ Краснодарский край Район Динской Включает 4 населённых пункта Адм. центр Новотитаровская Глава сельского пос�...

周處除三害The Pig, The Snake and The Pigeon正式版海報基本资料导演黃精甫监制李烈黃江豐動作指導洪昰顥编剧黃精甫主演阮經天袁富華陳以文王淨李李仁謝瓊煖配乐盧律銘林孝親林思妤保卜摄影王金城剪辑黃精甫林雍益制片商一種態度電影股份有限公司片长134分鐘产地 臺灣语言國語粵語台語上映及发行上映日期 2023年10月6日 (2023-10-06)(台灣) 2023年11月2日 (2023-11-02)(香�...

 

 

Частина серії проФілософіяLeft to right: Plato, Kant, Nietzsche, Buddha, Confucius, AverroesПлатонКантНіцшеБуддаКонфуційАверроес Філософи Епістемологи Естетики Етики Логіки Метафізики Соціально-політичні філософи Традиції Аналітична Арістотелівська Африканська Близькосхідна іранська Буддій�...

 

 

Hierarchical form of church governance This article is about the form of church governance. For the churches characterized by this form of governance and naming themselves Episcopalian, see Anglicanism. This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Episcopal polity – news · newspapers · books · scholar · J...

Former U.S. diplomatic mission to Afghanistan Diplomatic mission Embassy of the United States, KabulChancery Building as seen from its plazaLocationBibi Mahru, Kabul, AfghanistanCoordinates34°32′28″N 69°9′38″E / 34.54111°N 69.16056°E / 34.54111; 69.16056OpeningJune 5, 1948 (1948-06-05) (original)January 17, 2002 (2002-01-17) (re-opening)ClosedAugust 31, 2021 (2021-08-31)[note 1]Websiteaf.usembassy.gov The...

 

 

بليزنت غروف   الإحداثيات 33°29′33″N 86°58′23″W / 33.4925°N 86.973055555556°W / 33.4925; -86.973055555556   [1] تاريخ التأسيس 1937  تقسيم إداري  البلد الولايات المتحدة[2]  التقسيم الأعلى مقاطعة جيفرسون  خصائص جغرافية  المساحة 25.631949 كيلومتر مربع25.621467 كيلومتر مربع (1 أبر�...

 

 

Station in County Galway, Ireland Ballinasloe Railway StationBhéal Átha na SluaigheGeneral informationLocationStation Road, Ballinasloe, County Galway, H53 X657IrelandCoordinates53°20′11″N 8°14′27″W / 53.336255°N 8.240800°W / 53.336255; -8.240800Owned byIarnród ÉireannOperated byIarnród ÉireannPlatforms2ConstructionStructure typeAt-gradeOther informationStation codeBSLOEFare zoneLHistoryOpened1 August 1851Services Preceding station   Iarnród Éi...

Remains of the Via Sebaste at Sarıhacılar The Via Sebaste was a Roman military road in southern Anatolia. Its starting point (caput viae) was Pisidian Antioch on the central plateau, and it ran over the Taurus Mountains, through the Climax Pass (now Döşeme Boğazı) down to Perga on the coast. The Roman colonia of Comama and Apollonia lay along its route. There was an eastern branch that connected the colonia of Iconium and Lystra.[1] The Via Sebaste was the key to Roman control o...

 

 

1998 video gameTetris: The Grand MasterArcade flyer for Tetris: The Grand Master 3 – Terror‑InstinctDeveloper(s)ArikaPublisher(s)Capcom[a]Psikyo[b]Taito[c]AQ Interactive[d]Hamster[e] [f]Composer(s)Shinji HosoeAyako SasoSeriesTetrisPlatform(s)Arcade[a][b][c]Xbox 360[d]Nintendo Switch[e][f]PlayStation 4[e][f]Release1998[a]2000[b]2005[c][d]2022[e...

 

 

1906年香港潔淨局選舉 ← 1903 1906年1月22日 (1906-01-22) 1909 →   获提名人 堪斐(英语:Henry Humphreys) 胡珀(英语:Augustus Shelton Hooper) 政党 无党籍 无党籍 民選得票 無競爭當選 無競爭當選 选前非官守議員 普樂雲杉(英语:Ahmet Rumjahn) 當選非官守議員 堪斐(英语:Henry Humphreys)胡珀(英语:Augustus Shelton Hooper) 1906年香港潔淨局選舉原定在1月22日舉行,�...

German chronologist and astronomer Ideler redirects here. For the psychiatrist, see Karl Wilhelm Ideler. For the German philologist, see Julius Ludwig Ideler. For the moon crater, see Ideler (crater). Christian Ludwig Ideler Christian Ludwig Ideler (21 September 1766 – 10 August 1846) was a German chronologist and astronomer. Life He was born in Gross-Brese near Perleberg. His earliest work was the editing in 1794 of an astronomical almanac for the Prussian government. He taught mathematics...

 

 

Noctuoidea Noctua pronubaTaksonomiSuperkerajaanHolozoaKerajaanAnimaliaFilumArthropodaKelasInsectaOrdoLepidopteraSuperfamiliNoctuoidea Latreille, 1809 Diversitas lebih dari 70.000 spesies Families Erebidae Noctuidae strict sense Nolidae Notodontidae Oenosandridae Doidae (?) Thaumetopoeidae (Lihat teks) Noctuoidea adalah superfamili dari noctuid (Latin burung hantu malam) atau ulat burung hantu, dengan lebih dari 70.000 spesies, menjadikannya jumlah terbesar superfamili Lepidoptera dibandingkan...