/Agile

Agile improvement

Primary LanguageJava

Agile

Agile improvement

The goal is to keep as little code as possible to have the least number of bugs and achieve the greatest technical agility and business agility.

The point of the kata is not to solve the problem. The point of the Kata is to practice the moves. The moves of the kata:

  • red
  • green
  • refactor

Conversion

  • I = 1
  • V = 5
  • X = 10
  • L = 50
  • C = 100
  • D = 500
  • M = 1000

Refactorings

  • Rename Variable: change variable's name so it better reveals its purpose
  • Micro-Refactorings
    • Make Method Static: make the method accessible without creating an instance of the class
    • Move Method: move method to a more appropriate class
    • Move Class: move class to a more appropriate location
    • Inline Code: eliminate an unnecessary variable by inlining the code
    • Extract Method: create a new method from part of a larger method
  • DRY: Don't Repeat Yourself
  • Change Signature: change a method by adding or removing input parameters

The Morgan's Law

  • !a && !b -> !(a || b)
  • !a || !b -> !(a && b)

Recommended lectures

  • Refactoring: improving the Design of Existing Code by Martin Fowler
  • Refactoring to Patterns by Joshua Kerievsky
  • kasperowski.com