조건부

5350 단어 basicsconditions
"우유 상자가 비어 있으면 식료품 목록에 우유를 추가하십시오."

위의 예는 조건부입니다. 필요한 경우에만 목록에 우유를 추가하고 싶습니다. 프로그래밍 언어에는 조건문을 표현하는 다양한 방법이 있습니다. 조건을 표현하는 가장 일반적인 방법은 if ​​문, switch 문 및 삼항 연산자입니다. 대부분의 경우 이들은 서로 바꿔 사용할 수 있지만 다음에 누군가가 코드에 있을 때 어떻게 읽힐지 이해하면 가독성이 극적으로 증가합니다.

문장처럼 읽히도록 코딩하고 싶을 때 (If)



"If"문은 사례가 적고 각 사례에 대해 두 줄 이상의 코드를 입력해야 할 때 매우 잘 읽힙니다. 여러 if가 있는 경우 "else if"및 "else"를 사용하여 하나만 실행되어야 하는 조건 집합을 지정할 수 있습니다. 그 예가 아래에 있습니다.

// written in JavaScript
if (milkCarton.percentFilled > 80) {
    hand.fillBowl(Cereal);
    hand.fillBowl(milkCarton);
    hand.putAway(milkCarton);
}
else if (milkCarton.percentFilled > 30) {
    hand.fillBowl(Cereal);
    hand.fillBowl(milkCarton);
    hand.putAway(milkCarton);
    groceryList.Add(Milk);
}
else {
    groceryList.Add(Milk);
    hand.ThrowAway(Carton)
}


언어는 구문이 약간 다릅니다. 귀하의 언어는 괄호나 세미콜론을 사용하지 않을 수 있지만 거의 항상 위의 코드와 유사합니다.

코드를 목차처럼 읽고 싶을 때(스위치)



케이스가 많고 각 케이스에 한 줄만 필요한 경우 if/else 시리즈에서 이를 표현하는 것은 지루하고 읽기 어려울 수 있습니다. switch 문을 사용하면 모든 경우를 둘러싸는 블록으로 래핑하기 때문에 더 읽기 쉽습니다. 또한 개체 "유형"이 무엇인지 또는 열거형의 어떤 값이 제공되는지를 중심으로 하는 경우에는 switch 문을 고려해야 합니다. Switch 문은 외부 변수를 사용하고 이를 각 경우에 전달하므로 유형과 열거형의 유한 및 단수 자연이 switch 문에 완벽하게 정렬됩니다.

// Written in C#.
var holiday = HolidayEnum.OppositeDay;
switch(holiday)
{
    case HolidayEnum.MemorialDay:
        RememberTheFallen();
    case HolidayEnum.OppositeDay:
        DoEverythingOpposite();
    case HolidayEnum.MyBirthday:
        HoldBirthdayParty();
}


Switch 및 if 문은 종종 서로 쉽게 변환될 수 있습니다. 기억해야 할 것은 switch 문은 한 줄의 경우가 많을 때 가장 잘 보이고 if 문은 여러 줄의 경우가 거의 없을 때 가장 잘 보인다는 것입니다.

변수에 무언가를 할당하려고 할 때(삼항)



삼항 연산자는 종종 조건부로 간과됩니다. 숙련된 프로그래머는 생각 없이 사용하고 초보자 프로그래머는 if 문을 더 자주 사용합니다.

// Written in C#.
var currentScore = 0;
currentScore += answeredCorrectly ? 10 : 0;


위의 코드에서 부울 AnswerCorrectly가 true인 경우 현재 점수에 10을 추가하려고 합니다. 이것을 if 문으로 표현하면 코드에 불필요한 상용구가 추가됩니다. 물론 삼항 표현식은 처음 20번은 읽기 어려운 경우가 많습니다.

다음에 갈 곳



읽을 수 있는 코드를 작성해야 합니다. 그 중 큰 부분은 조건문을 표현하는 방법입니다. 다음으로 순환 복잡도와 무조건 코드를 연구합니다. 이것들은 특정 구문을 언제 사용해야 하는지가 아니라 작성해야 하는 조건문 수를 줄이는 방법을 가르칩니다.

좋은 웹페이지 즐겨찾기