ITEM 14 : 중복되는 초기화 로직을 최소화 하라.

|

ITEM 14 : Minimize Duplicate Initialization Logic

                    (중복되는 초기화 로직을 최소화 하라.)



■ 요약 및 장점


1.      여러 개의 생성자에 동일한 로직이 있다면, 동일한 로직만 빼서 하나의 메서드를 생성해서 참조하지 말고 common constructor를 사용하라. 그렇게 하면 코드중복을 피할 수 있는 동시에 좀더 효율적인 object code가 생성이 된다.


2.      C# 4.0에서는 default parameter가 추가되어서 코드 중복을 더 줄일 수가 있다.


3.      생성자에서 모든 파라미터가 default value일때는 반드시 파라미터가 없는 생성자도 기본적으로 생성해줘야한다.


4.      생성자의 default value string.Empty를 사용할 수 없는 이유는 컴파일타임에서 확인할 수 없는 상수이기 때문이다. string class  static으로 정의되어 있다.


5.      당신의 목표는 모든 변수가 당신이 원하는 대로 초기화 되고 초기화가 한번만 되는 것이다. 간단한 자원에 대해서는 선언시 초기화를 사용하라. 좀더 복잡한 로직이 필요한 변수들은 생성자를 사용하라, 또한 생성자의 연쇄호출을 사용해서 코드의 중복을 최소화 해라


■ Terms


1.      factor call : 연쇄 호출


■ 해석이 모호하거나 중요한 구문


1.      The compiler adds code to perform several function on your behalf in constructors 

       ( 컴파일러는 당신을 대신해서 생성자에 몇가지 기능을 수행하는 코드를 추가한다. )


2.      You should strive to initialize every member variable exactly once during construction. The best way for you to accomplish this is to initialize values as early as possible

     ( 당신은 모든 멤버변수들이 구성될 때 정확히 한번만 초기화되도록 노력해야한다. 그것을 달성하는 가장 좋은 방법은 가능한한 빨리 변수를 초기화 하는것이다. )


■ 단어


1.      repetitive : 반복되는

2.      hopefully : 바라건데, 희망을 갖고

3.      factor something in(into) : 을 고려(감안)하다

4.      permutations : 순열 (차례로 늘어선 줄)

5.      resilient : 회복력 있는, 탄력있는

6.      preferred :  선취권 있는, 우선의, 선호하다.

7.      befalf : 대신해서, ~을 도우려고 / 원조, 이익,지지

8.      on one’s behalf : ~의 입장에서, ~을 대신해서

9.      trivial : 사소한 , 하찮은

10.    observable : 식별[관찰]할 수 있는

11.    strive : 분투하다, 애쓰다, 노력하다.

12.    subsequent : 차후의, 그 다음의


■ 피드백

And