SlideShare a Scribd company logo
1 of 21
Resharper
Refactoring and productivity
extension by JetBrains
Refactoring
“A disciplined technique for restructuring an
existing body of code, altering its internal
structure without changing its external
behavior"
Abstraction Class fragmentation
Naming convention
Refactoring - Abstraction
• Techniques that allow for more abstraction
– Encapsulate Field – force code to access the field
with getter and setter methods
– Generalize Type – create more general types to
allow for more code sharing
– Replace Type
– Replace conditional with polymorphism
Refactoring - Class fragmentation
• Techniques for breaking code apart into more
logical pieces
– Componentization breaks code down into reusable
semantic units which present clear, well-defined,
simple-to-use interfaces.
– Extract Class moves part of the code from an existing
class into a new class.
– Extract Method, to turn part of a larger method into a
new method. By breaking down code in smaller
pieces, it is more easily understandable. This is also
applicable to functions.
Refactoring - Naming convention
• Techniques for improving names and location
of code
– Move Method or Move Field – move to a more
appropriate Class or source file
– Rename Method or Rename Field – changing the
name into a new one that better reveals its
purpose
– Pull Up – in OOP, move to a superclass
– Push Down – in OOP, move to a subclass
Features
• Code browsing
• Code clean-up
• Refactoring
• Coding assistance
• Micro code generation
• Other useful features
Support
• C# 5.0
• VB11
• JavaScript
• CSS
• HTML
• ASP.NET
• ASP.NET MVC
• Razor
• XML, XAML
• WinRT
• MSBuild and NAnt
build scripts.
IDEA vs VS
• 2 different keyboard scheme
– IDEA more familiar to Intellij IDE
– VS scheme more familiar to VS users
– VS scheme will never override a key mapped by
visual studio
Part 1 : Code browsing
• Navigate : ART-R-N Find : ALT-R-F
• Navigate to : Alt-' File : ctrl-t / ctrl-shft-t / alt-
shift-t
• Related files : ctrl - alt - f7
• Goto implementation : ctrl-F12
• Goto definition : alt-F12
• Find usages : shift f12
Part 2 : Code clean-up
• quickfix trio :
– Alt-Enter
– Alt-PgDn
– Alt-PgUp
• moving code around: ctrl-alt-shift-arrows
• View file structure: ctrl-alt-f
• Code cleanup: ctrl-e-c
• see: resharper -> options -> c# -> formatting style
• Safe delete : alt-Del
Part 3 : Refactoring
• Convert
• Rename
• Change signature
• Encapsulate/extract fields/properties/classes
• Introduce field/method/variable
• Inline field/method/variable
• Move to folder
• Pull and push memebers
Part 4 : Coding assistance
• Code generation
• Code templates
• Code cleanup
Part 5 : Micro code generation
• Snippets
• Generators
• Templates
Part 6 - other
• Stack trace explorer
• goto decleration to decompiled MSIL
• TODO list explorer
• Test runner
• Globalization
• Patterns catalog
• XML document support
• MSBuild or nant build scripts support
• Javascript and CSS support
Pros and cons
• Helps enforce standards
• Boosts productivity
• Helps code reviews
• Good analysis tools
• Over-refactoring
• Tool reliance
• Shapes the way you
think
Learning tips
• Keep the keymap under your keyboard
• Focus on a few commands at a time
• Don’t be afraid to try new shortcuts
• Keep your hands on the keyboard
• Watch other people use Resharper
• Learn with friends and teammates
The end
Extra
What does it do?
• solution-wide static code analysis (error detection
on-the-fly, without the need to compile)
• provides additional features for error correction
• code completion, navigation, search
• syntax highlighting, formatting
• code generation and optimization
• carries out 40 automated refactorings and
streamlines unit testing using NUnit and MSTest
Sources
• http://www.jetbrains.com/resharper/webhelp
/Code_Analysis__Examples_of_Quick-
Fixes.html
• Wikipedia

More Related Content

What's hot

Item dalam fail nilam
Item dalam fail nilamItem dalam fail nilam
Item dalam fail nilam
suratzan01
 
Kertas kerja mohon peruntukan untuk kos menjahit uniform kadet polis
Kertas kerja mohon peruntukan untuk kos menjahit uniform kadet polisKertas kerja mohon peruntukan untuk kos menjahit uniform kadet polis
Kertas kerja mohon peruntukan untuk kos menjahit uniform kadet polis
Maria Ayie
 
2021 Minit Mesyuarat Pengakap Bil.1.docx
2021 Minit Mesyuarat Pengakap Bil.1.docx2021 Minit Mesyuarat Pengakap Bil.1.docx
2021 Minit Mesyuarat Pengakap Bil.1.docx
akmalskpksakmal
 
Jadual latihan olagraga
Jadual latihan olagragaJadual latihan olagraga
Jadual latihan olagraga
ADIB ADIB
 
Kertas kerja amalan terbaik p&p 2013(new)
Kertas kerja amalan terbaik p&p 2013(new)Kertas kerja amalan terbaik p&p 2013(new)
Kertas kerja amalan terbaik p&p 2013(new)
vijayamutha
 
Taklimat kokurikulum
Taklimat kokurikulumTaklimat kokurikulum
Taklimat kokurikulum
naimMoe
 
Jawatankuasa lembaga disiplin sekolah sk seri gading 2013
Jawatankuasa lembaga disiplin sekolah sk seri gading 2013Jawatankuasa lembaga disiplin sekolah sk seri gading 2013
Jawatankuasa lembaga disiplin sekolah sk seri gading 2013
Anita Salman
 

What's hot (20)

Item dalam fail nilam
Item dalam fail nilamItem dalam fail nilam
Item dalam fail nilam
 
Kertas kerja mohon peruntukan untuk kos menjahit uniform kadet polis
Kertas kerja mohon peruntukan untuk kos menjahit uniform kadet polisKertas kerja mohon peruntukan untuk kos menjahit uniform kadet polis
Kertas kerja mohon peruntukan untuk kos menjahit uniform kadet polis
 
Modul DeGuru.pdf
Modul DeGuru.pdfModul DeGuru.pdf
Modul DeGuru.pdf
 
2021 Minit Mesyuarat Pengakap Bil.1.docx
2021 Minit Mesyuarat Pengakap Bil.1.docx2021 Minit Mesyuarat Pengakap Bil.1.docx
2021 Minit Mesyuarat Pengakap Bil.1.docx
 
Minit mesyuarat kokurikulum 1 2019
Minit mesyuarat kokurikulum 1 2019Minit mesyuarat kokurikulum 1 2019
Minit mesyuarat kokurikulum 1 2019
 
Kelab catur 2016
Kelab catur 2016Kelab catur 2016
Kelab catur 2016
 
Rancangan kelab hoki
Rancangan kelab hokiRancangan kelab hoki
Rancangan kelab hoki
 
Doa ceramah kesihatan
Doa ceramah kesihatanDoa ceramah kesihatan
Doa ceramah kesihatan
 
Peranan setiap posisi pemain sofbol
Peranan setiap posisi pemain sofbolPeranan setiap posisi pemain sofbol
Peranan setiap posisi pemain sofbol
 
Jadual latihan olagraga
Jadual latihan olagragaJadual latihan olagraga
Jadual latihan olagraga
 
Kertas kerja amalan terbaik p&p 2013(new)
Kertas kerja amalan terbaik p&p 2013(new)Kertas kerja amalan terbaik p&p 2013(new)
Kertas kerja amalan terbaik p&p 2013(new)
 
Taklimat kokurikulum
Taklimat kokurikulumTaklimat kokurikulum
Taklimat kokurikulum
 
Jawatankuasa lembaga disiplin sekolah sk seri gading 2013
Jawatankuasa lembaga disiplin sekolah sk seri gading 2013Jawatankuasa lembaga disiplin sekolah sk seri gading 2013
Jawatankuasa lembaga disiplin sekolah sk seri gading 2013
 
Olahraga sekolah menengah
Olahraga sekolah menengahOlahraga sekolah menengah
Olahraga sekolah menengah
 
Rancangan aktiviti kelab bola jaring SK Kota
Rancangan aktiviti kelab bola jaring SK KotaRancangan aktiviti kelab bola jaring SK Kota
Rancangan aktiviti kelab bola jaring SK Kota
 
Badminton sekolah rendah
Badminton sekolah rendahBadminton sekolah rendah
Badminton sekolah rendah
 
Sifir
SifirSifir
Sifir
 
童诗
童诗童诗
童诗
 
Nota Futsal Part 3
Nota Futsal Part 3Nota Futsal Part 3
Nota Futsal Part 3
 
Senarai tugas khas guru
Senarai tugas khas guru Senarai tugas khas guru
Senarai tugas khas guru
 

Viewers also liked

Developing multi tenant applications for the cloud 3rd edition
Developing multi tenant applications for the cloud 3rd editionDeveloping multi tenant applications for the cloud 3rd edition
Developing multi tenant applications for the cloud 3rd edition
Steve Xu
 

Viewers also liked (16)

24 Resharper Tricks Every .Net Developer Should Know
24 Resharper Tricks Every .Net Developer Should Know24 Resharper Tricks Every .Net Developer Should Know
24 Resharper Tricks Every .Net Developer Should Know
 
Docker workflow
Docker workflowDocker workflow
Docker workflow
 
ReSharper SDK
ReSharper SDKReSharper SDK
ReSharper SDK
 
Car Decals
Car DecalsCar Decals
Car Decals
 
Ficha de videos
Ficha de videosFicha de videos
Ficha de videos
 
Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with docker
 
Developing multi tenant applications for the cloud 3rd edition
Developing multi tenant applications for the cloud 3rd editionDeveloping multi tenant applications for the cloud 3rd edition
Developing multi tenant applications for the cloud 3rd edition
 
Deploying web apis on core clr to docker
Deploying web apis on core clr to dockerDeploying web apis on core clr to docker
Deploying web apis on core clr to docker
 
Building Multi-tenant, Configurable, High Quality Applications on .NET for an...
Building Multi-tenant, Configurable, High Quality Applications on .NET for an...Building Multi-tenant, Configurable, High Quality Applications on .NET for an...
Building Multi-tenant, Configurable, High Quality Applications on .NET for an...
 
Cloud architecture from the field v1 (in touch)
Cloud architecture from the field v1 (in touch)Cloud architecture from the field v1 (in touch)
Cloud architecture from the field v1 (in touch)
 
ASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with Overview
 
ASP.NET Core 1.0 Overview
ASP.NET Core 1.0 OverviewASP.NET Core 1.0 Overview
ASP.NET Core 1.0 Overview
 
iOS Coding Best Practices
iOS Coding Best PracticesiOS Coding Best Practices
iOS Coding Best Practices
 
Introduction to Windows IoT via Raspberry Pi 3
Introduction to Windows IoT via Raspberry Pi 3Introduction to Windows IoT via Raspberry Pi 3
Introduction to Windows IoT via Raspberry Pi 3
 
C# coding standards, good programming principles & refactoring
C# coding standards, good programming principles & refactoringC# coding standards, good programming principles & refactoring
C# coding standards, good programming principles & refactoring
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Similar to Resharper

Agile korea 2013 유석문
Agile korea 2013 유석문Agile korea 2013 유석문
Agile korea 2013 유석문
Sangcheol Hwang
 

Similar to Resharper (20)

c++ Unit I.pptx
c++ Unit I.pptxc++ Unit I.pptx
c++ Unit I.pptx
 
Linux
LinuxLinux
Linux
 
Refactoring Techniques
Refactoring TechniquesRefactoring Techniques
Refactoring Techniques
 
08 subprograms
08 subprograms08 subprograms
08 subprograms
 
Git Advanced
Git AdvancedGit Advanced
Git Advanced
 
Chapter 6
Chapter 6Chapter 6
Chapter 6
 
Lecture02
Lecture02Lecture02
Lecture02
 
Agile korea 2013 유석문
Agile korea 2013 유석문Agile korea 2013 유석문
Agile korea 2013 유석문
 
TDC2018FLN | Trilha Java - Implementando design patterns clássicos no Java 8 ...
TDC2018FLN | Trilha Java - Implementando design patterns clássicos no Java 8 ...TDC2018FLN | Trilha Java - Implementando design patterns clássicos no Java 8 ...
TDC2018FLN | Trilha Java - Implementando design patterns clássicos no Java 8 ...
 
PHP Development Tools
PHP  Development ToolsPHP  Development Tools
PHP Development Tools
 
System Programming and Administration
System Programming and AdministrationSystem Programming and Administration
System Programming and Administration
 
Refactoring Legacy Code
Refactoring Legacy CodeRefactoring Legacy Code
Refactoring Legacy Code
 
Tech talks#6: Code Refactoring
Tech talks#6: Code RefactoringTech talks#6: Code Refactoring
Tech talks#6: Code Refactoring
 
Terraform modules restructured
Terraform modules restructuredTerraform modules restructured
Terraform modules restructured
 
Terraform Modules Restructured
Terraform Modules RestructuredTerraform Modules Restructured
Terraform Modules Restructured
 
Lecture: Refactoring
Lecture: RefactoringLecture: Refactoring
Lecture: Refactoring
 
cs8251 unit 1 ppt
cs8251 unit 1 pptcs8251 unit 1 ppt
cs8251 unit 1 ppt
 
Integrating the Solr search engine
Integrating the Solr search engineIntegrating the Solr search engine
Integrating the Solr search engine
 
Code Refactoring
Code RefactoringCode Refactoring
Code Refactoring
 
RDF: what and why plus a SPARQL tutorial
RDF: what and why plus a SPARQL tutorialRDF: what and why plus a SPARQL tutorial
RDF: what and why plus a SPARQL tutorial
 

More from Hanokh Aloni

More from Hanokh Aloni (20)

NWD Total commander for fun and profit!!!
NWD Total commander for fun and profit!!!NWD Total commander for fun and profit!!!
NWD Total commander for fun and profit!!!
 
CI CD OPS WHATHAVEYOU
CI CD OPS WHATHAVEYOUCI CD OPS WHATHAVEYOU
CI CD OPS WHATHAVEYOU
 
How to write proper GIT commit messages.pptx
How to write proper GIT commit messages.pptxHow to write proper GIT commit messages.pptx
How to write proper GIT commit messages.pptx
 
Architectural kata 0 of n.pptx
Architectural kata 0 of n.pptxArchitectural kata 0 of n.pptx
Architectural kata 0 of n.pptx
 
Code smells (1).pptx
Code smells (1).pptxCode smells (1).pptx
Code smells (1).pptx
 
NWD the73js.pptx
NWD the73js.pptxNWD the73js.pptx
NWD the73js.pptx
 
top developer mistakes
top developer mistakes top developer mistakes
top developer mistakes
 
Things senior developers should know
Things senior developers should knowThings senior developers should know
Things senior developers should know
 
Cynefin framework in software engineering
Cynefin framework in software engineeringCynefin framework in software engineering
Cynefin framework in software engineering
 
Microservices
MicroservicesMicroservices
Microservices
 
Wcbpijwbpij new
Wcbpijwbpij newWcbpijwbpij new
Wcbpijwbpij new
 
Trunk based vs git flow
Trunk based vs git flowTrunk based vs git flow
Trunk based vs git flow
 
How to write unmaintainable code
How to write unmaintainable codeHow to write unmaintainable code
How to write unmaintainable code
 
How i learned to stop worrying and love the logs
How i learned to stop worrying and love the logsHow i learned to stop worrying and love the logs
How i learned to stop worrying and love the logs
 
Game is ggj2018 presentation
Game is ggj2018 presentationGame is ggj2018 presentation
Game is ggj2018 presentation
 
Microservices
MicroservicesMicroservices
Microservices
 
Game is ggj2017 presentation
Game is ggj2017 presentationGame is ggj2017 presentation
Game is ggj2017 presentation
 
02 terms and issues
02 terms and issues02 terms and issues
02 terms and issues
 
Sip introduction
Sip introductionSip introduction
Sip introduction
 
Tdd guide
Tdd guideTdd guide
Tdd guide
 

Recently uploaded

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 

Recently uploaded (20)

Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdf
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 

Resharper

  • 2. Refactoring “A disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior" Abstraction Class fragmentation Naming convention
  • 3. Refactoring - Abstraction • Techniques that allow for more abstraction – Encapsulate Field – force code to access the field with getter and setter methods – Generalize Type – create more general types to allow for more code sharing – Replace Type – Replace conditional with polymorphism
  • 4. Refactoring - Class fragmentation • Techniques for breaking code apart into more logical pieces – Componentization breaks code down into reusable semantic units which present clear, well-defined, simple-to-use interfaces. – Extract Class moves part of the code from an existing class into a new class. – Extract Method, to turn part of a larger method into a new method. By breaking down code in smaller pieces, it is more easily understandable. This is also applicable to functions.
  • 5. Refactoring - Naming convention • Techniques for improving names and location of code – Move Method or Move Field – move to a more appropriate Class or source file – Rename Method or Rename Field – changing the name into a new one that better reveals its purpose – Pull Up – in OOP, move to a superclass – Push Down – in OOP, move to a subclass
  • 6. Features • Code browsing • Code clean-up • Refactoring • Coding assistance • Micro code generation • Other useful features
  • 7. Support • C# 5.0 • VB11 • JavaScript • CSS • HTML • ASP.NET • ASP.NET MVC • Razor • XML, XAML • WinRT • MSBuild and NAnt build scripts.
  • 8.
  • 9. IDEA vs VS • 2 different keyboard scheme – IDEA more familiar to Intellij IDE – VS scheme more familiar to VS users – VS scheme will never override a key mapped by visual studio
  • 10. Part 1 : Code browsing • Navigate : ART-R-N Find : ALT-R-F • Navigate to : Alt-' File : ctrl-t / ctrl-shft-t / alt- shift-t • Related files : ctrl - alt - f7 • Goto implementation : ctrl-F12 • Goto definition : alt-F12 • Find usages : shift f12
  • 11. Part 2 : Code clean-up • quickfix trio : – Alt-Enter – Alt-PgDn – Alt-PgUp • moving code around: ctrl-alt-shift-arrows • View file structure: ctrl-alt-f • Code cleanup: ctrl-e-c • see: resharper -> options -> c# -> formatting style • Safe delete : alt-Del
  • 12. Part 3 : Refactoring • Convert • Rename • Change signature • Encapsulate/extract fields/properties/classes • Introduce field/method/variable • Inline field/method/variable • Move to folder • Pull and push memebers
  • 13. Part 4 : Coding assistance • Code generation • Code templates • Code cleanup
  • 14. Part 5 : Micro code generation • Snippets • Generators • Templates
  • 15. Part 6 - other • Stack trace explorer • goto decleration to decompiled MSIL • TODO list explorer • Test runner • Globalization • Patterns catalog • XML document support • MSBuild or nant build scripts support • Javascript and CSS support
  • 16. Pros and cons • Helps enforce standards • Boosts productivity • Helps code reviews • Good analysis tools • Over-refactoring • Tool reliance • Shapes the way you think
  • 17. Learning tips • Keep the keymap under your keyboard • Focus on a few commands at a time • Don’t be afraid to try new shortcuts • Keep your hands on the keyboard • Watch other people use Resharper • Learn with friends and teammates
  • 19. Extra
  • 20. What does it do? • solution-wide static code analysis (error detection on-the-fly, without the need to compile) • provides additional features for error correction • code completion, navigation, search • syntax highlighting, formatting • code generation and optimization • carries out 40 automated refactorings and streamlines unit testing using NUnit and MSTest

Editor's Notes

  1. TODO list explorer : Resharper -> tools -> todo items
  2. Over-refactoring Tool reliance Shapes the way you think