ReSharper Dainius Kreivys.

Slides:



Advertisements
Similar presentations
Chapter 3 – Web Design Tables & Page Layout
Advertisements

Javascript Code Quality Check Tools Javascript Code Quality Check Tools JavaScript was originally intended to do small tasks in webpages, but now JavaScript.
Programming Paradigms and languages
Regional Partner Meeting April 27th PHPEdit extension for eZ publish.
Coding and Debugging. Requirements and Specification Recall the four steps of problem solving: Orient, Plan, Execute, Test Before you start the implementation.
Labeling and Annotation
Advanced Object-Oriented Programming Features
C# Programming: From Problem Analysis to Program Design1 Advanced Object-Oriented Programming Features C# Programming: From Problem Analysis to Program.
C# Programming: From Problem Analysis to Program Design1 2 Your First C# Program.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
ASP.NET Programming with C# and SQL Server First Edition
{ C# IDE Tips and Tricks for Visual Studio 2010 Kevin Pilch-Bisson C# IDE Dev Lead
Chapter 9 Introduction to ActionScript 3.0. Chapter 9 Lessons 1.Understand ActionScript Work with instances of movie clip symbols 3.Use code snippets.
Chapter 4 Code Editor Goals and Objectives Program more efficiently? How can you speed up your development process? Do you want to learn useful shortcuts.
Chapter 3 Navigating a Project Goals & Objectives 1.Get familiar with the navigation of the project. How is everything structured? What settings can you.
Introduction to VB.NET Tonga Institute of Higher Education.
Chapter 3 Working with Text and Cascading Style Sheets.
UNIT 3 TEMPLATE AND EXCEPTION HANDLING. Introduction  Program errors are also referred to as program bugs.  A C program may have one or more of four.
1 v1.6 08/02/2006 Overview of Eclipse Lectures 1.Overview 2.Installing and Running 3.Building and Running Java Classes 4.Refactoring 5.Debugging 6.Testing.
Chapter 8: Writing Graphical User Interfaces
Review IDIA 619 Spring 2013 Bridget M. Blodgett. HTML A basic HTML document looks like this: Sample page Sample page This is a simple sample. HTML user.
Program documentation Using the Doxygen tool Program documentation1.
Refactoring Improving the structure of existing code Refactoring1.
1 CSC/ECE 517 Fall 2010 Lec. 3 Overview of Eclipse Lectures Lecture 2 “Lecture 0” Lecture 3 1.Overview 2.Installing and Running 3.Building and Running.
C# Programming: From Problem Analysis to Program Design1 10 Advanced Object-Oriented Programming Features C# Programming: From Problem Analysis to Program.
David Lawrence 7/8/091Intro. to PHP -- David Lawrence.
Design - programming Cmpe 450 Fall Dynamic Analysis Software quality Design carefully from the start Simple and clean Fewer errors Finding errors.
Chapter 10: Classes and Data Abstraction. Objectives In this chapter, you will: Learn about classes Learn about private, protected, and public members.
Computer Science I Programming in Java (programming using Processing IN Java, using IntelliJ IDE) Classwork/Homework: copy your Processing projects over.
SEG 4110 – Advanced Software Design and Reengineering Topic T Introduction to Refactoring.
Session 2: Basic HTML HTML Coding Spring 2009 The LIS Web Team Presents.
Chapter 10: Classes and Data Abstraction. Classes Object-oriented design (OOD): a problem solving methodology Objects: components of a solution Class:
CSCI 161 Lecture 3 Martin van Bommel. Operating System Program that acts as interface to other software and the underlying hardware Operating System Utilities.
Microsoft Visual C# 2010 Fourth Edition Chapter 3 Using GUI Objects and the Visual Studio IDE.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
Java IDE Dwight Deugo Nesa Matic
Dive Into® Visual Basic 2010 Express
Microsoft Word Illustrated
Chapter 2: The Visual Studio .NET Development Environment
Creating Your Own Classes
Development with Eclipse
Module Road Map Refactoring Why Refactoring? Examples
/* LIFE RUNS ON CODE*/ Konstantinos Pantos Microsoft MVP ASP.NET
Advanced Object-Oriented Programming Features
Inheritance and Polymorphism
How Effective Our Dev Tools Are?
C# Programming: From Problem Analysis to Program Design
Eclipse 20-Sep-18.
C# Programming: From Problem Analysis to Program Design
Typescript Programming Languages
Social Media And Global Computing Introduction to Visual Studio
Part of the Multilingual Web-LT Program
Overview of Eclipse Lectures
עבודה עם Eclipse מבוא לתכנות מערכות מבוא לתכנות מערכות.
Understanding the Visual IDE
SSI Toolbox Status Workbook Overview
Using JDeveloper.
DREAMWEAVER MX 2004 Chapter 3 Working with Tables
Refactoring and Code Smells
Working with Text and Cascading Style Sheets
Tim Ehrlich Growing Arrays in C.
Tonga Institute of Higher Education
IDE’s and Debugging.
How to organize and document your classes
Refactoring and Code Smells
Java IDE Dwight Deugo Nesa Matic Portions of the notes for this lecture include excerpts from.
DEV322 Visual Studio 2005 C# IDE Enhancements
Web Programming and Design
Running & Testing :: IDEs
Refactoring and Code Smells
Presentation transcript:

ReSharper Dainius Kreivys

Contents 1. What are static code analysis tools? 2. Why static code analysis is needed? 3. When we should use these tools? 4. About Resharper 5. Navigation 6. To-do Explorer 7. Code assistance 8. Code completion 9. Refactorings 10. Prices 11. Summary

What are static code analysis tools? These tools helps to maintain software code automatically. They help to detect errors and problems before compiling the code. These tools instantly tracks the writable code and highlights mistakes

Why static code analysis is needed? Analysis helps find most common made mistakes in code: Unused added libraries Unplaced but needed null checkers Unreachable code detection Unassigned variables It also helps to write code faster with code generation feature.

When we should use these tools? Same coding style Protection from commonly made mistakes Track quality of code Write code faster

About ReSharper ReSharper is Visual Studio extension for C#, VB.NET, ASP.NET, C++, JavaScript technologies. It is based on static code analysis. It is well known and most used extension for IDE that provides quick-fixes, highlights to improve code in one way or another.

Code Quality Analysis Software code problems are classified in: Errors Warnings Suggestions Hints Coding style templates can be customizable. Problems that are detected and fixed: Code that will not be compiled or will have negative impact Unreachable code Loops are remodeled in LINQ, keyword var is used in type definition. Reducing nesting Etc…

Refactoring Facts about resharper: All found errors in code can be automatically fixed Usually errors are fixed 1 by 1 not all at once. Sometimes it is possible to contract ~10 lines of code to just 1 line of LINQ statement. In some cases there was found that a project of 500 000 LoC, had about 23 000 of problems that where found in under 5minutes using ReSharper.

Warnings, suggestions and hints ReSharper informs you about redundant casts, incorrect format strings, declared but never used local variables, etc.  Suggestions provide insights into code structure, drawing your attention to things that aren't necessarily bad or wrong, but probably useful to know. A hint simply brings your attention to a particular code detail and recommends a way of improvement.

Navigation Navigate To. Alt + ~ Go to Implementation. Ctrl + F12 Go to Everything. Ctrl + T Go to Action. Alt + Enter Go to Related Files. Ctrl+Alt+F7 Also you can use wildcards for navigation: *, ?, +

To-do Explorer Helps find: todo, note, bug tags. Possible to add more tags Useful for detecting places that needs to be modified. Tags are marked in blue color so it would have more visibility for developer.

Coding Assistance Syntax Highlighting Context Actions Complete Statement Ctrl + Shift + Enter

Coding Assistance Parameter Info Ctrl + Shift + Space Importing Namespaces Alt + Enter

Coding Assistance Automaticaly shows begining of brackets, when mouse is over the end of brackets in code. Current code line marking Automaticaly close brackets Extend / shrink code fast Ctrl+Alt+Right / Left All coding assistance features are customizable and can be turned off if needed.

Code Completion Drop down suggestion: Ctrl + Space Expands standart Visual Studio Intelli Sense drop down list Suggests variable names Suggests data type names and casts Drop down suggestions usually fits many developer needs, so they most often are required just to press Ctrl + Space, Enter, Ctrl + Space…

Refactorings ReSharper can refactor: Move, pull, rename code Convert Abstract Class to Interface and vice-versia Introduce Parameter Make Method Static/Shared and vice-versia Move String to Resource Push / Pull members up and down Rename in whole program, file Convert property to Auto-Property Inline fields, methods

Refactorings Whole page code refactoring. Ctrl + E, C automatically refactors whole file by such factors: Fixes names Removes unused code Reformats code by moving classes and methods by given order. Code refactoring is mostly used function to verify that the code meets given coding standard.

Prices For companies: For individuals:

Summary ReSharper is a fine tool that has very good integration with Visual Studio IDE It is a great investment for companies that develop software in Visual Studio, that raises the coding abilities at least 20% The biggest feature that this tools offers is minimizing the same actions that are done by the developer. The price is very expensive and can frighten off individual developers.

Questions?