<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Jan Blomquist on Programming - Agile</title>
    <link>http://www.janblomquist.com/blog/</link>
    <description>Do what you love and love what you do. </description>
    <language>en-us</language>
    <copyright>Jan Blomquist</copyright>
    <lastBuildDate>Wed, 04 Feb 2009 10:45:05 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.2.8279.16125</generator>
    <managingEditor>jan.blomquist@gaiaware.net</managingEditor>
    <webMaster>jan.blomquist@gaiaware.net</webMaster>
    <item>
      <trackback:ping>http://www.janblomquist.com/blog/Trackback.aspx?guid=c2cf459b-7a3a-49f6-8cbf-a24dbe19f929</trackback:ping>
      <pingback:server>http://www.janblomquist.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.janblomquist.com/blog/PermaLink,guid,c2cf459b-7a3a-49f6-8cbf-a24dbe19f929.aspx</pingback:target>
      <dc:creator>Jan Blomquist</dc:creator>
      <wfw:comment>http://www.janblomquist.com/blog/CommentView,guid,c2cf459b-7a3a-49f6-8cbf-a24dbe19f929.aspx</wfw:comment>
      <wfw:commentRss>http://www.janblomquist.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=c2cf459b-7a3a-49f6-8cbf-a24dbe19f929</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <img src="http://www.janblomquist.com/blog/content/binary/resharper.png" border="0" />
        <br />
        <br />
I've got a confession to make. I have totally fallen in love with <a href="http://www.jetbrains.com/resharper/">Resharper</a>.
Before you continue reading I just want you to know that I am not on commission for
these guys, but I find the tool to be so invaluable to my productivity that I wouldn't
want to develop without it. Resharper is a refactoring plugin for Visual Studio.NET
that enhances the programming experience in the IDE. It empowers navigation, analysis,
refactoring, assistance, cleanup, code generation and unit testing. 
<br /><br />
I recently gave a short speech / demo about the usage of Resharper at the local user
group here in Norway. If you happen to live in Grenland you can read more about these
gatherings <a href="http://www.iktgrenland.no/">here</a><br />
Since it's so hard to get paid for doing post development refactorings, refactoring
should be a continuous task that you do while programming. It increases the robustness
of the application drastically and makes future changes easier to incorporate. 
<br /><br />
The easiest feature to get started with is the Full Cleanup <b>(CTRL-E - CTRL-C)</b>.
It will automatically fix the most common mistakes in a C# file. 
<br /><br /><img src="http://www.janblomquist.com/blog/content/binary/resharper_code_cleanup.png" border="0" /><br /><br /><br />
One of the most useful aspects of ReSharper is the integrated Unit Testing parts.
Automatically run all Unit Tests within the IDE simply by attaching a shortcut to
the Unit Testing Explorer Window and run your unit tests. 
<br /><br /><img src="http://www.janblomquist.com/blog/content/binary/resharper_unit_testing_explorer.png" border="0" /><br /><br /><br />
Here's a short list of the most commonly used refactorings. 
<br /><h3>NAVIGATION HISTORY
</h3><ul><li>
View File Structure <b>(CTRL-ALT-F)</b></li><li>
View Type Hierarchy <b>(CTRL-ALT-H)</b></li><li>
Go To <b>(CTRL-T, CTRL-SHIFT-T, ALT-\)</b></li><li>
Todo-Items <b>(CTRL-ALT-D)</b></li><li>
Unit Testing <b>(CTRL-ALT-U)</b></li><li>
Find Usages <b>(SHIFT-F12)</b></li></ul><h3>CODE REFACTORING
</h3><ul><li>
- Refactor           <b> CTRL-SHIFT-R</b></li><ul><li>
Rename            
<br /></li><li>
Change signature</li><li>
Convert abstract class to interface</li><li>
Convert method to property</li><li>
Copy type</li><li>
Encapsulate field<br /></li><li>
Extract class from parameters</li><li>
Extract interface, method, superclass</li><li>
Inline variable</li><li>
Make method static/non-static</li><li>
Safe delete</li></ul></ul><h3>CODING ASSISTANCE
</h3><ul><li>
Symbol completion<b> (CTRL-SPACE)</b></li><li>
Smart completion <b>(CTRL-SHIFT-SPACE)</b></li><li>
Import symbol completion <b>(CTRL-ALT-SPACE)</b></li><li>
Context actions <b>(ALT-ENTER)</b></li><li>
Matching delimiters        
</li><li>
Moving code elements <b>(CTRL-SHIFT-ALT (up/down-left-right))</b></li><li>
Surround with regions</li><li>
Suggest namespace import directives</li></ul><h3>CODE ANALYSIS
</h3><ul><li>
Code highlightning</li><li>
Marker bar and status indicator</li><li>
Solution wide analysis</li><li>
External Annotations</li><li>
Quick Fixes</li><li>
Navigation between errors/warnings/suggestions    SHIFT-ALT (pg-up/pg-down)</li><li>
Value analysis (null, bool)</li><li>
String.format analysis</li></ul><h3>CODE CLEANUP<br /></h3><ul><li>
- Format/Fix File <b>(CTRL-E, CTL-C)</b></li><li>
- Cleanup profiles</li></ul><h3>CODE GENERATION
</h3><ul><li>
Constructor</li><li>
Properties</li><li>
Read-only properties</li><li>
Impl. Interface member</li><li>
Override inherited member</li><li>
Equality members</li><li>
Formatting members</li></ul><h3>Unit Testing
</h3>
- Unit Test Explorer CTRL-ALT-U<br />
- Advanced Functionality (requires Gallio plugin) 
<br />
- Support for MSTest, MBUnit, NUnit, NBehave<br /><br /><i>Don't delay any further. Get ReSharper today! </i><br /><br /><img width="0" height="0" src="http://www.janblomquist.com/blog/aggbug.ashx?id=c2cf459b-7a3a-49f6-8cbf-a24dbe19f929" /></body>
      <title>Resharper - The Ultimate Tool for Productive Development in C#</title>
      <guid isPermaLink="false">http://www.janblomquist.com/blog/PermaLink,guid,c2cf459b-7a3a-49f6-8cbf-a24dbe19f929.aspx</guid>
      <link>http://www.janblomquist.com/blog/2009/02/04/ResharperTheUltimateToolForProductiveDevelopmentInC.aspx</link>
      <pubDate>Wed, 04 Feb 2009 10:45:05 GMT</pubDate>
      <description>&lt;img src="http://www.janblomquist.com/blog/content/binary/resharper.png" border="0"&gt;
&lt;br&gt;
&lt;br&gt;
I've got a confession to make. I have totally fallen in love with &lt;a href="http://www.jetbrains.com/resharper/"&gt;Resharper&lt;/a&gt;.
Before you continue reading I just want you to know that I am not on commission for
these guys, but I find the tool to be so invaluable to my productivity that I wouldn't
want to develop without it. Resharper is a refactoring plugin for Visual Studio.NET
that enhances the programming experience in the IDE. It empowers navigation, analysis,
refactoring, assistance, cleanup, code generation and unit testing. 
&lt;br&gt;
&lt;br&gt;
I recently gave a short speech / demo about the usage of Resharper at the local user
group here in Norway. If you happen to live in Grenland you can read more about these
gatherings &lt;a href="http://www.iktgrenland.no/"&gt;here&lt;/a&gt; 
&lt;br&gt;
Since it's so hard to get paid for doing post development refactorings, refactoring
should be a continuous task that you do while programming. It increases the robustness
of the application drastically and makes future changes easier to incorporate. 
&lt;br&gt;
&lt;br&gt;
The easiest feature to get started with is the Full Cleanup &lt;b&gt;(CTRL-E - CTRL-C)&lt;/b&gt;.
It will automatically fix the most common mistakes in a C# file. 
&lt;br&gt;
&lt;br&gt;
&lt;img src="http://www.janblomquist.com/blog/content/binary/resharper_code_cleanup.png" border="0"&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
One of the most useful aspects of ReSharper is the integrated Unit Testing parts.
Automatically run all Unit Tests within the IDE simply by attaching a shortcut to
the Unit Testing Explorer Window and run your unit tests. 
&lt;br&gt;
&lt;br&gt;
&lt;img src="http://www.janblomquist.com/blog/content/binary/resharper_unit_testing_explorer.png" border="0"&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Here's a short list of the most commonly used refactorings. 
&lt;br&gt;
&lt;h3&gt;NAVIGATION HISTORY
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
View File Structure &lt;b&gt;(CTRL-ALT-F)&lt;/b&gt;
&lt;/li&gt;
&lt;li&gt;
View Type Hierarchy &lt;b&gt;(CTRL-ALT-H)&lt;/b&gt;
&lt;/li&gt;
&lt;li&gt;
Go To &lt;b&gt;(CTRL-T, CTRL-SHIFT-T, ALT-\)&lt;/b&gt;
&lt;/li&gt;
&lt;li&gt;
Todo-Items &lt;b&gt;(CTRL-ALT-D)&lt;/b&gt;
&lt;/li&gt;
&lt;li&gt;
Unit Testing &lt;b&gt;(CTRL-ALT-U)&lt;/b&gt;
&lt;/li&gt;
&lt;li&gt;
Find Usages &lt;b&gt;(SHIFT-F12)&lt;/b&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;CODE REFACTORING
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
- Refactor&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt; CTRL-SHIFT-R&lt;/b&gt;
&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
Rename&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Change signature&lt;/li&gt;
&lt;li&gt;
Convert abstract class to interface&lt;/li&gt;
&lt;li&gt;
Convert method to property&lt;/li&gt;
&lt;li&gt;
Copy type&lt;/li&gt;
&lt;li&gt;
Encapsulate field&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Extract class from parameters&lt;/li&gt;
&lt;li&gt;
Extract interface, method, superclass&lt;/li&gt;
&lt;li&gt;
Inline variable&lt;/li&gt;
&lt;li&gt;
Make method static/non-static&lt;/li&gt;
&lt;li&gt;
Safe delete&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;h3&gt;CODING ASSISTANCE
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
Symbol completion&lt;b&gt; (CTRL-SPACE)&lt;/b&gt;
&lt;/li&gt;
&lt;li&gt;
Smart completion &lt;b&gt;(CTRL-SHIFT-SPACE)&lt;/b&gt;
&lt;/li&gt;
&lt;li&gt;
Import symbol completion &lt;b&gt;(CTRL-ALT-SPACE)&lt;/b&gt;
&lt;/li&gt;
&lt;li&gt;
Context actions &lt;b&gt;(ALT-ENTER)&lt;/b&gt;
&lt;/li&gt;
&lt;li&gt;
Matching delimiters&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;/li&gt;
&lt;li&gt;
Moving code elements &lt;b&gt;(CTRL-SHIFT-ALT (up/down-left-right))&lt;/b&gt;
&lt;/li&gt;
&lt;li&gt;
Surround with regions&lt;/li&gt;
&lt;li&gt;
Suggest namespace import directives&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;CODE ANALYSIS
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
Code highlightning&lt;/li&gt;
&lt;li&gt;
Marker bar and status indicator&lt;/li&gt;
&lt;li&gt;
Solution wide analysis&lt;/li&gt;
&lt;li&gt;
External Annotations&lt;/li&gt;
&lt;li&gt;
Quick Fixes&lt;/li&gt;
&lt;li&gt;
Navigation between errors/warnings/suggestions&amp;nbsp;&amp;nbsp;&amp;nbsp; SHIFT-ALT (pg-up/pg-down)&lt;/li&gt;
&lt;li&gt;
Value analysis (null, bool)&lt;/li&gt;
&lt;li&gt;
String.format analysis&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;CODE CLEANUP&lt;br&gt;
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
- Format/Fix File &lt;b&gt;(CTRL-E, CTL-C)&lt;/b&gt;
&lt;/li&gt;
&lt;li&gt;
- Cleanup profiles&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;CODE GENERATION
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
Constructor&lt;/li&gt;
&lt;li&gt;
Properties&lt;/li&gt;
&lt;li&gt;
Read-only properties&lt;/li&gt;
&lt;li&gt;
Impl. Interface member&lt;/li&gt;
&lt;li&gt;
Override inherited member&lt;/li&gt;
&lt;li&gt;
Equality members&lt;/li&gt;
&lt;li&gt;
Formatting members&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Unit Testing
&lt;/h3&gt;
- Unit Test Explorer CTRL-ALT-U&lt;br&gt;
- Advanced Functionality (requires Gallio plugin) 
&lt;br&gt;
- Support for MSTest, MBUnit, NUnit, NBehave&lt;br&gt;
&lt;br&gt;
&lt;i&gt;Don't delay any further. Get ReSharper today! &lt;/i&gt;
&lt;br&gt;
&lt;br&gt;
&lt;img width="0" height="0" src="http://www.janblomquist.com/blog/aggbug.ashx?id=c2cf459b-7a3a-49f6-8cbf-a24dbe19f929" /&gt;</description>
      <comments>http://www.janblomquist.com/blog/CommentView,guid,c2cf459b-7a3a-49f6-8cbf-a24dbe19f929.aspx</comments>
      <category>Agile</category>
      <category>Refactoring</category>
    </item>
  </channel>
</rss>