만약if와else 양측이 모두 회답하면 손실이 발생할 수 있습니다

6492 단어 Swiftxctesttech

이것은 당연한 것이다


인코딩에서 중요한 것은 '정확한 운행' 과 '읽기 쉽다' 이다.
그리고'손쉬운 수정'도 중요하다.

이것을 기초로 하다


간단하고 알기 쉬운 명칭, 적절한 처리단위 등이 최소한의 문화라면
이후에는 각자의 전략에 따라 실시해야 한다.
다만, 나는 의사소통 장애가 있는 어두운 오타쿠족이어서 평소에 말을 잘 하지 않는다
자신의 정책을 전달하고 상대방이 받아들이기 어렵다.
public class Hoge {
    public func testMethod(flg: Bool) -> String {
        if flg {
            return "trueだよ"
        } else {
            return "falseだよ"
        }
    }
    public func testMethod2(flg: Bool) -> String {
        if flg {
            return "trueだよ"
        }
        return "falseだよ"
    }
    public func testMethod3(flg: Bool) -> String {
        guard flg else {
            return "falseだよ"
        }
        return "trueだよ"
    }
}
testMethod,testMethod2,testMethod3는 모두 같은 행위이다.flg가 가지는 의미와 방법의 목적을 고려하여 임의로 실시할 수 있다.
다만, testMethod의 실크 모드를 선택했다면 약간의 손실이 있을 수 있다.

손해가 무엇이냐

testMethod,testMethod2,testMethod3에 대해 단원 테스트를 실시한다.
    func testExample() throws {
        let target = Hoge()
        target.testMethod(flg: true)
        target.testMethod(flg: false)
        target.testMethod2(flg: true)
        target.testMethod2(flg: false)
        target.testMethod3(flg: true)
        target.testMethod3(flg: false)
    }
실행 결과는 다음과 같다.

testMethod만 커버율이 낮을까
else절의 끝~방법의 끝 사이에 처리되지 않은 부분은 실행되지 않았습니다.어리석다.

만약if절과else절 양측이 모두 돌아온다면 때로는 100%의 커버인을 쳐서 이길 수 없을 때도 있다.
(객관적인 수치가 주관적인 전략보다 훨씬 강하다...)
그런 의미에서 조금은 손해를 볼 수 있다😭

좋은 웹페이지 즐겨찾기