로버트 C. 마틴의 "보이스카웃 규칙" (Boy Scout Rule)은 소프트웨어 개발과 유지보수의 중요한 지침 중 하나입니다. 이 규칙의 핵심 개념은 다음과 같습니다:
보이스카웃 규칙의 정의
"코드를 만났을 때보다 더 깨끗하게 만들어 놓고 떠나라."
보이스카웃 규칙은 소프트웨어 개발자가 코드베이스의 질을 꾸준히 향상시키기 위한 간단하지만 강력한 원칙입니다. 이 규칙을 따르면 시간이 지남에 따라 코드베이스가 점점 더 깨끗하고 유지보수하기 쉬워지며, 이는 결국 소프트웨어 프로젝트의 성공과 장기적인 건강에 기여하게 됩니다.
이 규칙은 소프트웨어 개발자가 코드를 수정하거나 기능을 추가할 때, 기존의 코드를 조금이라도 개선하는 습관을 가지도록 권장합니다. 보이스카웃 규칙은 다음과 같은 방법으로 적용될 수 있습니다:
예를 들어, 아래와 같은 코드가 있다고 가정해봅시다:
public class Calculator {
public int add(int a, int b) {
return a + b;
}
public int sub(int a, int b) {
return a - b;
}
}
이 코드를 수정하거나 기능을 추가할 때, 보이스카웃 규칙을 적용해 다음과 같이 개선할 수 있습니다:
개선된 코드 예시:
public class Calculator {
/**
* Adds two integers and returns the result.
*
* @param a the first integer
* @param b the second integer
* @return the sum of a and b
*/
public int add(int a, int b) {
return a + b;
}
/**
* Subtracts the second integer from the first and returns the result.
*
* @param a the first integer
* @param b the second integer
* @return the result of subtracting b from a
*/
public int subtract(int a, int b) {
return a - b;
}
}
테스트 코드 추가:
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class CalculatorTest {
private final Calculator calculator = new Calculator();
@Test
public void testAdd() {
assertEquals(5, calculator.add(2, 3));
assertEquals(0, calculator.add(0, 0));
assertEquals(-5, calculator.add(-2, -3));
}
@Test
public void testSubtract() {
assertEquals(1, calculator.subtract(3, 2));
assertEquals(0, calculator.subtract(0, 0));
assertEquals(1, calculator.subtract(-2, -3));
}
}