Refactoring concepts

by andrei 19. September 2008 21:39

You can read about the purpose of this list and how to use it here.
Also, the list of resources is here.

 

  1. general implementation
    E8
    E9
  2. concepts
    1. Encapsulate Collection Refactoring
      basically means that the parent will protect all changes to the collection
      resources
      B4
    2. ReSharper
      http://www.jetbrains.com/resharper/
      resources
      B4
    3. Replace Nested Conditional with Guard Clauses
      resources
      B4
    4. refactoring
      In a nutshell, what refactoring does is to take you from smelly code to nice code. It's as simple as that.
      Continuous refactoring has come to be considered a "best practice," but most project teams are still too cautious about it. If you wait until you can make a complete justification for a change, you've waited too long.
      In order to be able to use refactoring in a safe way, you must carry out extensive tests. If you don't, you will introduce bugs and/or you will prioritize, not making any changes simply for the sake of maintainability, because the risk of introducing bugs is just too large. And when you stop making changes because of maintainability, your code has slowly started to degrade.
      Don't refactor the day before a release.
      refactoring requires automatic tests
      resources
      B1
      B4
    5. Refactor!
      http://www.devexpress.com/Products/Visual_Studio_Add-in/Refactoring/
      resources
      B4
    6. Inline Singleton
      resources
      B4
    7. Extract Method
      resources
      B4
    8. Consolidate Conditional Expression
      resources
      B4
    9. code smell
      resources
      B4
      1. Duplicated Code
        resources
        B4
      2. base class methods
        the subclass is responsible for calling up to the base class at certain points in the execution of the Execute() method. I think that's too loose a contract for the subclass; the developer of the subclass has to remember to add those calls and to do it at the right places
        can be avoided through template method
        resources
        B4

 

You can find the entire list of techniques in progress in the Development base concepts category. Please feel free to leave any comments or suggestions which could make these lists more useful for everyone.

Also, if you are interested in learning these skills you can try the Developer training modules.

 

 

 

Enjoy programming!

 

I am putting together a set of concept lists for the main programming techniques, which should help developers learning or using them to be more efficient. Here are the techniques in progress:

Please feel free to leave any comments or suggestions which could make these lists more useful for everyone.

 

 

Also, if you are interested in learning these techniques you can try the developer training modules.

Again, please feel free to leave any comments or suggestions which could make the training modules more useful for everyone. We are having great results with them at Akcedo (so they really work), but they can always be improved. Also, if you would like to use the modules or are already using them and you want to discuss about the process feel free to comment and ask questions here.

Add comment


(Will show your Gravatar icon)  

  Country flag

biuquote
  • Comment
  • Preview
Loading



Powered by BlogEngine.NET 1.4.5.0