목차
1. 완전히 불필요한 Else 블록 " >1. 완전히 불필요한 Else 블록
2. 값 할당 " > 2. 값 할당
3. 전제 조건 확인 " > 3. 전제 조건 확인
4. If-Else를 사전으로 변환 — If-Else를 완전히 피하세요 " > 4. If-Else를 사전으로 변환 — If-Else를 완전히 피하세요
5. 애플리케이션 확장 — If-Else를 완전히 사용하지 마세요. " > 5. 애플리케이션 확장 — If-Else를 완전히 사용하지 마세요.
Java java지도 시간 우리 회사는 프로젝트에서 2,000개의 if-else를 어떻게 완전히 제거했나요?

우리 회사는 프로젝트에서 2,000개의 if-else를 어떻게 완전히 제거했나요?

Jul 26, 2023 pm 04:29 PM
if-else


우리 회사는 프로젝트에서 2,000개의 if-else를 어떻게 완전히 제거했나요?

더 나은 소프트웨어를 설계하고 If-Else를 대체하는 5가지 방법. 초급부터 고급까지의 예

이것만 말씀드리죠: If-Else는 일반적으로 나쁜 선택입니다.

디자인이 복잡해지고 코드 가독성이 떨어지며 리팩토링이 어려워질 수 있습니다.

그러나 If-Else는 사실상의 코드 분기 솔루션이 되었으며 이는 의미가 있습니다. 이것은 모든 야심 찬 개발자에게 가장 먼저 가르치는 것입니다. 불행하게도 많은 개발자들은 더 적절한 분기 전략을 추진하지 않습니다.

어떤 사람들의 진언은 다음과 같습니다: If-Else는 망치이고 모든 것은 못입니다.

언제 더 적절한 방법을 사용해야 할지 판단하지 못하는 것도 후배와 후배를 구별하는 것 중 하나입니다.

이 끔찍한 연습에 종지부를 찍을 몇 가지 팁과 패턴을 보여 드리겠습니다.

예를 들 때마다 난이도가 높아집니다.

1. 완전히 불필요한 Else 블록

이것은 아마도 후배 개발자들이 저지르는 가장 큰 죄 중 하나일 것입니다. 아래 예는 If-Else가 훌륭하다는 말을 들었을 때 어떤 일이 발생하는지 보여주는 좋은 예입니다.

우리 회사는 프로젝트에서 2,000개의 if-else를 어떻게 완전히 제거했나요?

이 프로세스를 단순화하려면 else` 블록을 제거하기만 하면 됩니다.

우리 회사는 프로젝트에서 2,000개의 if-else를 어떻게 완전히 제거했나요?

더 전문적으로 보이죠?

실제로는 다른 블록이 전혀 필요하지 않다는 것을 알게 될 것입니다. 이 경우처럼 특정 작업을 수행하고 특정 조건이 충족되면 즉시 반환하고 싶습니다.

2. 값 할당

제공된 일부 입력을 기반으로 변수에 새 값을 할당하는 경우 더 읽기 쉬운 접근 방식인 If-Else 넌센스를 중지하세요.

우리 회사는 프로젝트에서 2,000개의 if-else를 어떻게 완전히 제거했나요?

간단하지만 형편없습니다. 첫째, If-Else는 여기서 스위치로 쉽게 교체할 수 있습니다. 그러나 else를 완전히 제거하면 이 코드를 더욱 단순화할 수 있습니다.

우리 회사는 프로젝트에서 2,000개의 if-else를 어떻게 완전히 제거했나요?

else를 사용하지 않으면 깨끗하고 읽기 쉬운 코드가 남습니다. 또한 단일 반환 문이 아닌 빠른 반환으로 스타일을 변경했습니다. 올바른 값이 이미 발견된 경우 값을 계속 테스트할 필요가 없습니다.


3. 전제 조건 확인

일반적으로 메서드가 잘못된 값을 제공하면 실행을 계속하는 것이 의미가 없다고 생각합니다.

제공된 입력 값이 항상 0 또는 1이어야 하는 이전의 DefineGender 메서드가 있다고 가정합니다.

우리 회사는 프로젝트에서 2,000개의 if-else를 어떻게 완전히 제거했나요?

값 유효성 검사 없이 메서드를 실행하는 것은 의미가 없습니다. 따라서 메서드 실행을 계속하기 전에 몇 가지 전제 조건을 확인해야 합니다.

가드절 방어코딩 기법을 적용하여 메소드의 입력값을 확인한 후 메소드를 계속 실행하게 됩니다.

우리 회사는 프로젝트에서 2,000개의 if-else를 어떻게 완전히 제거했나요?

이 시점에서는 값이 예상 범위 내에 있을 때만 메인 로직이 실행되도록 보장합니다.

IF도 이제 삼항으로 대체되었습니다. 더 이상 마지막에 "알 수 없음"을 기본값으로 설정할 필요가 없기 때문입니다.

4. If-Else를 사전으로 변환 — If-Else를 완전히 피하세요

일부 조건에 따라 선택하는 일부 작업을 수행해야 한다고 가정하면 나중에 더 많은 작업을 추가해야 한다는 것을 알고 있습니다.

우리 회사는 프로젝트에서 2,000개의 if-else를 어떻게 완전히 제거했나요?

어떤 사람들은 시도되고 테스트된 If-Else를 사용하는 것을 선호할 수도 있습니다. 새 작업을 추가하는 경우 다른 작업을 추가하면 됩니다. 매우 간단합니다. 그러나 이 접근 방식은 유지 관리 측면에서 좋은 설계가 아닙니다.

나중에 새로운 연산을 추가해야 한다는 것을 알고 If-Else를 사전으로 리팩터링할 수 있습니다.

우리 회사는 프로젝트에서 2,000개의 if-else를 어떻게 완전히 제거했나요?

가독성이 대폭 향상되어 코드를 더욱 쉽게 추론할 수 있습니다.

사전은 설명 목적으로만 메소드 내부에 배치됩니다. 다른 곳에서 제공하고 싶을 수도 있습니다.

5. 애플리케이션 확장 — If-Else를 완전히 사용하지 마세요.

이것은 약간 더 발전된 예입니다.

If를 객체로 대체하여 완전히 제거해야 하는 시기를 알아보세요.

지원서의 일부 부분을 확장해야 하는 경우가 종종 있습니다. 주니어 개발자라면 추가 If-Else(예: else-if) 문을 추가하여 이 작업을 수행하고 싶을 수도 있습니다.

이 예시를 들어보세요. 여기서는 Order 인스턴스를 문자열로 표시해야 합니다. 첫째, JSON과 일반 텍스트라는 두 가지 문자열 표현만 있습니다. 이전에 언급한 대로 다른 항목을 쉽게 교체할 수 있다면 If-Else를 사용하는 것은 이 단계에서 큰 문제가 아닙니다.

우리 회사는 프로젝트에서 2,000개의 if-else를 어떻게 완전히 제거했나요?

애플리케이션의 이 부분을 확장해야 한다는 점을 알면 이러한 접근 방식은 절대 용납될 수 없습니다.

위 코드는 "열기/닫기" 원칙을 위반할 뿐만 아니라 잘 읽히지 않고 유지 관리 문제를 일으킬 수 있습니다.

올바른 접근 방식은 SOLID 원칙을 따르는 접근 방식입니다. 동적 유형 검색 프로세스(이 경우 전략 패턴)를 구현하여 이를 수행합니다.

이 지저분한 프로세스를 리팩토링하는 과정은 다음과 같습니다.

· 공통 인터페이스를 사용하여 각 분기를 별도의 전략 클래스로 추출합니다.

· 공통 인터페이스를 구현하는 모든 클래스를 동적으로 찾습니다.

· 어떤 전략을 실행할지 결정합니다. input

위 예제를 대체하는 코드는 다음과 같습니다. 예, 이것은 훨씬 더 많은 코드입니다. 유형 검색이 작동하는 방식을 이해해야 합니다. 그러나 애플리케이션을 동적으로 확장하는 것은 고급 주제입니다.

If-Else 예시를 대체할 정확한 부분만 보여드리겠습니다. 관련된 모든 개체를 보려면 이 요점을 확인하세요.

우리 회사는 프로젝트에서 2,000개의 if-else를 어떻게 완전히 제거했나요?

코드를 간단히 살펴보겠습니다.

호출자가 리팩토링에 대해 알 필요가 없으므로 메서드 서명은 변경되지 않습니다.

먼저, 공통 인터페이스 IOrderOutputStrategy를 구현하는 어셈블리의 모든 유형을 가져옵니다. 그런 다음 사전을 생성합니다. 포맷터의 displayName 이름은 키이고 유형은 값입니다.

그런 다음 사전에서 포맷터 유형을 선택하고 정책 개체를 인스턴스화해 보세요.

마지막으로 전략 개체의 ConvertOrderToString을 호출합니다.

위 내용은 우리 회사는 프로젝트에서 2,000개의 if-else를 어떻게 완전히 제거했나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

<gum> : Bubble Gum Simulator Infinity- 로얄 키를 얻고 사용하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Nordhold : Fusion System, 설명
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora : 마녀 트리의 속삭임 - Grappling Hook 잠금 해제 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

우리 회사는 프로젝트에서 2,000개의 if-else를 어떻게 완전히 제거했나요? 우리 회사는 프로젝트에서 2,000개의 if-else를 어떻게 완전히 제거했나요? Jul 26, 2023 pm 04:29 PM

먼저, 공통 인터페이스 IOrderOutputStrategy를 구현하는 어셈블리의 모든 유형을 가져옵니다. 그런 다음 사전을 생성합니다. 포맷터의 displayName 이름은 키이고 유형은 값입니다. 그런 다음 사전에서 포맷터 유형을 선택하고 정책 개체를 인스턴스화해 보십시오.

Java에서 if-else를 우아하게 작성하는 방법 Java에서 if-else를 우아하게 작성하는 방법 Apr 29, 2023 pm 10:04 PM

1. 스위치 방법은 열거 값 처리에 좋은 영향을 미칩니다. 예를 들어, 상태 값이 제한되어 있으므로 스위치를 사용하여 다양한 상태에 대해 다른 처리를 수행할 수 있습니다. 원본 설명 publicvoidbefore(Integerstatus){if(status==1){System.out.println("주문을 받지 못했습니다.");}elseif(status==2){System.out.println("주문이 배송되지 않았습니다.") ; }elseif(상태==3

Java에서 if-else를 최적화하기 위해 삼항 연산자를 사용하는 방법 Java에서 if-else를 최적화하기 위해 삼항 연산자를 사용하는 방법 May 02, 2023 pm 11:34 PM

삼항 연산자를 사용하여 if-else1을 최적화하고 다음과 같이 if-else 조건을 기반으로 할당을 판단합니다. Stringid="";if(flag){id="a";}else{id="b";} 사용 삼항 연산자는 코드 라인으로 직접 최적화될 수 있습니다: id=flag?"a":"b"; 2. 다음과 같이 if-else 조건을 사용하여 호출 방법을 결정합니다. Setset1=newHashSet();Setset2=newHashSet (); if(플래그){set1.add(

Python의 일반적인 흐름 제어 구조는 무엇입니까? Python의 일반적인 흐름 제어 구조는 무엇입니까? Jan 20, 2024 am 08:17 AM

Python의 일반적인 흐름 제어 구조는 무엇입니까? Python에서 흐름 제어 구조는 프로그램의 실행 순서를 결정하는 데 사용되는 중요한 도구입니다. 이를 통해 다양한 조건에 따라 다양한 코드 블록을 실행하거나 코드 블록을 반복적으로 실행할 수 있습니다. 다음은 Python의 일반적인 프로세스 제어 구조를 소개하고 해당 코드 예제를 제공합니다. 조건문(if-else): 조건문을 사용하면 다양한 조건에 따라 다양한 코드 블록을 실행할 수 있습니다. 기본 구문은 다음과 같습니다. if 조건 1: #when 조건

C/C++에서 if 문과 else 문을 동시에 실행 C/C++에서 if 문과 else 문을 동시에 실행 Sep 05, 2023 pm 02:29 PM

이 섹션에서는 C 또는 C++ 코드에서 if 및 else 부분을 모두 실행하는 방법을 살펴보겠습니다. 이 솔루션은 약간 까다롭습니다. if와 else가 차례로 실행되면 if-else가 없는 명령문이 실행된 것과 같습니다. 하지만 여기서는 그것들이 존재하는 경우 순차적으로 실행하는 방법을 살펴보겠습니다. 샘플 코드 #include<iostream>usingnamespacestd;intmain(){ intx=10) { &

Jul 24, 2023 pm 03:38 PM

if는 부울 조건이 있는 문입니다. 조건이 true로 평가되면 if 뒤의 중괄호 안의 코드가 실행됩니다. 결과가 false이면 else 뒤의 중괄호 안의 코드가 실행됩니다.

팁 공유: if-else 사용을 줄이고 코드 가독성을 높이세요! 팁 공유: if-else 사용을 줄이고 코드 가독성을 높이세요! Oct 27, 2022 am 10:11 AM

이 글은 if else를 제거하거나 차별하려는 것이 아닙니다. 우리 모두는 if else의 유용성을 알고 있습니다. 단지 코드의 가독성을 높이기 위해 일부 특정 시나리오에 대한 추가 아이디어를 제공하기 위한 것입니다.

한 기사에서는 분기 최적화 시 JavaScript를 구현하는 방법을 설명합니다. 한 기사에서는 분기 최적화 시 JavaScript를 구현하는 방법을 설명합니다. Mar 14, 2023 pm 07:37 PM

1,000개의 판단 조건에는 1,000개의 if 문이 필요합니까? 분기 문을 최적화하는 방법은 무엇입니까? 다음 기사에서는 브랜치 최적화를 달성하는 방법에 대해 설명하겠습니다. 모든 사람에게 도움이 되기를 바랍니다.

See all articles