내 새 Git 강의 봐봐! 야! 내 새 Git 강의 봐봐! 야! GitByBit.com에 내 새 Git 강의 올라왔어, 봐봐! 야! Git 좀 시원하게 복습하고 싶지? GitByBit.com에 내 새 강의!

Remove Setting Method

Problem

The value of a field should be set only when it's created, and not change at any time after that.

Solution

So remove methods that set the field's value.

Before
Remove Setting Method - Before
After
Remove Setting Method - After

Why Refactor

You want to prevent any changes to the value of a field.

How to Refactor

  1. The value of a field should be changeable only in the constructor. If the constructor doesn't contain a parameter for setting the value, add one.

  2. Find all setter calls.

    • If a setter call is located right after a call for the constructor of the current class, move its argument to the constructor call and remove the setter.

    • Replace setter calls in the constructor with direct access to the field.

  3. Delete the setter.