재사용 가능한 방법으로 코드의이 부분을 추출하려면 어떻게해야합니까?

테킬라

하나의 일반적인 사용 방법으로 리팩토링하려는 동일한 모양의 방법이 여러 개 있습니다. 그렇게하는 방법? 'assert_all_items_and_rows_for'에서 한 가지만 다릅니다.

def assert_all_items_and_rows_when_index_is_0(config, index, item, row, asserts):
        if index == 0:
            def_platforms = config["pl"]
            platforms = ["gp", "ios", "win32"]
            compare_name_from_definition_to_excel_name_for_platforms(config, def_platforms, platforms, row)
        assert_all_items_and_rows_for_boos(item, row)


def assert_all_items_and_rows_when_index_is_0(config, index, item, row, asserts):
    if index == 0:
        def_platforms = config["pl"]
        platforms = ["gp", "ios", "win32"]
        compare_name_from_definition_to_excel_name_for_platforms(config, def_platforms, platforms, row)
    assert_all_items_and_rows_for_ann(item, row)

def assert_all_items_and_rows_when_index_is_0(config, index, item, row, asserts):
    if index == 0:
        def_platforms = config["pl"]
        platforms = ["gp", "ios", "win32"]
        compare_name_from_definition_to_excel_name_for_platforms(config, def_platforms, platforms, row)
    assert_all_items_and_rows_for_gem(item, row)

또는 다음과 같이 사용할 수 있습니다.

def assert_all_items_and_rows_when_index_is_0(config, index, item, row, asserts):
    if asserts is "boos":
        if index == 0:
            def_platforms = config["platforms"]
            platforms = ["gp", "ios", "win32"]
            compare_name_from_definition_to_excel_name_for_platforms(config, def_platforms, platforms, row)
        assert_all_items_and_rows_for_boos(item, row)
    elif asserts is "gem":
        if index == 0:
            def_platforms = config["platforms"]
            platforms = ["gp", "ios", "win32"]
            compare_name_from_definition_to_excel_name_for_platforms(config, def_platforms, platforms, row)
        assert_all_items_and_rows_for_gem(item, row)
    else:
        raise Exception('wrong parameter')
녹슨 로봇

다른 assert 함수를 인수로 전달할 수 있습니다. 예를 들면 :

def assert_all_items_and_rows_when_index_is_0(config, index, item, row, asserts, assert_function):
    if index == 0:
        def_platforms = config["pl"]
        platforms = ["gp", "ios", "win32"]
        compare_name_from_definition_to_excel_name_for_platforms(config, def_platforms, platforms, row)
    assert_function(item, row)

다음과 같이 호출합니다 (처음 5 개의 인수에 대해 없음을 입력했습니다. 거기에있는 것을 유지합니다.) :

assert_all_items_and_rows_when_index_is_0(None, None, None, None, None, assert_all_items_and_rows_for_boos)
assert_all_items_and_rows_when_index_is_0(None, None, None, None, None, assert_all_items_and_rows_for_ann)
assert_all_items_and_rows_when_index_is_0(None, None, None, None, None, assert_all_items_and_rows_for_gem)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Django-ID를 다음 사용 가능한 번호로 이동하려면 어떻게해야합니까? (앱 외부에 레코드 추가)

분류에서Dev

(타임 스탬프없이) 재현 가능한 방식으로 ImageMagick 변환을 사용하려면 어떻게해야합니까?

분류에서Dev

스크립트를 사용하여 아카이브를 다운로드하고 추출하려면 어떻게해야합니까 (후속 명령에 다운로드 한 파일을 안정적으로 지정하려면 어떻게해야합니까)?

분류에서Dev

Flutter 열의 위젯을 사용 가능한 크기로 축소하려면 어떻게해야합니까?

분류에서Dev

C #을 사용하여 Windows Media Player의 버튼 하나로 일시 중지 및 재생 기능을 추가하려면 어떻게해야합니까?

분류에서Dev

이 방법을 재사용하려면 어떻게해야합니까?

분류에서Dev

현재 어셈블리의 모든 EntityTypeConfiguration <>을 자동으로 추가하려면 어떻게해야합니까?

분류에서Dev

DropDown ComboBox-사용자가 다른 방법으로 값을 추가하려면 어떻게해야합니까?

분류에서Dev

Wildfly의 각 로그 줄에 사용자 이름 (principal)을 추가하려면 어떻게해야합니까?

분류에서Dev

nodejs를 사용하여 zip 파일을 업로드하고 추출하려면 어떻게해야합니까?

분류에서Dev

여러 폴더의 모든 파일을 가장 생산적으로 추출 / 재배치하려면 어떻게해야합니까?

분류에서Dev

byobu가`ls`에 의한 하이재킹 하이재킹을 방지하려면 어떻게해야합니까?

분류에서Dev

출력 사이의 추가 공백을 제거하려면 어떻게해야합니까?

분류에서Dev

JSON 목록 인 열의 TEXT 값을 가상 테이블로 추출하려면 어떻게해야합니까?

분류에서Dev

하위 도메인을 기반으로 사용자 정의 가능한 CSS를 설정하려면 어떻게해야합니까?

분류에서Dev

레코드의 값을 인터페이스 유형이 동일한 객체 키로 사용하려면 어떻게해야합니까?

분류에서Dev

입력과 레이블을 사용하여 CSS만으로 축소 가능한 요소를 만들려면 어떻게해야합니까?

분류에서Dev

bash가 기본적으로 색상 코드 출력을 사용하도록하려면 어떻게해야합니까?

분류에서Dev

Box-API : .NET Portable Subset 용으로 작성된 타사 어셈블리에 강력한 이름을 추가하려면 어떻게해야합니까?

분류에서Dev

이 문자열을 검색 가능한 개체로 구문 분석하려면 어떻게해야합니까?

분류에서Dev

얼마 후 내 웹 사이트가 멈추는 것을 방지하려면 어떻게해야합니까?

분류에서Dev

SQL을 사용하여 테이블에 백분율을 추가하려면 어떻게해야합니까?

분류에서Dev

변경 불가능할 때 프로토 타입을 사용하여 문자열에 메소드를 추가하려면 어떻게해야합니까?

분류에서Dev

이 창 및 응용 프로그램 시간 추적 스크립트가 정렬 된 출력을 생성하도록하려면 어떻게해야합니까?

분류에서Dev

Excel에서 셀 내용의 숫자 부분을 추출하려면 어떻게해야합니까?

분류에서Dev

4 개의 요소로 가능한 모든 이진 목록을 생성하려면 어떻게해야합니까? (Python 사용)

분류에서Dev

추가 데이터를 사용하여 배열을 json으로 인코딩하려면 어떻게해야합니까?

분류에서Dev

matplotlib 툴바의 사용자 정의 버튼에 기능을 추가하려면 어떻게해야합니까?

분류에서Dev

로그인시 Jinja에 대한 값을 첨부하고 나중에 Apache Superset의 SQLLab에서 재사용하려면 어떻게해야합니까?

Related 관련 기사

  1. 1

    Django-ID를 다음 사용 가능한 번호로 이동하려면 어떻게해야합니까? (앱 외부에 레코드 추가)

  2. 2

    (타임 스탬프없이) 재현 가능한 방식으로 ImageMagick 변환을 사용하려면 어떻게해야합니까?

  3. 3

    스크립트를 사용하여 아카이브를 다운로드하고 추출하려면 어떻게해야합니까 (후속 명령에 다운로드 한 파일을 안정적으로 지정하려면 어떻게해야합니까)?

  4. 4

    Flutter 열의 위젯을 사용 가능한 크기로 축소하려면 어떻게해야합니까?

  5. 5

    C #을 사용하여 Windows Media Player의 버튼 하나로 일시 중지 및 재생 기능을 추가하려면 어떻게해야합니까?

  6. 6

    이 방법을 재사용하려면 어떻게해야합니까?

  7. 7

    현재 어셈블리의 모든 EntityTypeConfiguration <>을 자동으로 추가하려면 어떻게해야합니까?

  8. 8

    DropDown ComboBox-사용자가 다른 방법으로 값을 추가하려면 어떻게해야합니까?

  9. 9

    Wildfly의 각 로그 줄에 사용자 이름 (principal)을 추가하려면 어떻게해야합니까?

  10. 10

    nodejs를 사용하여 zip 파일을 업로드하고 추출하려면 어떻게해야합니까?

  11. 11

    여러 폴더의 모든 파일을 가장 생산적으로 추출 / 재배치하려면 어떻게해야합니까?

  12. 12

    byobu가`ls`에 의한 하이재킹 하이재킹을 방지하려면 어떻게해야합니까?

  13. 13

    출력 사이의 추가 공백을 제거하려면 어떻게해야합니까?

  14. 14

    JSON 목록 인 열의 TEXT 값을 가상 테이블로 추출하려면 어떻게해야합니까?

  15. 15

    하위 도메인을 기반으로 사용자 정의 가능한 CSS를 설정하려면 어떻게해야합니까?

  16. 16

    레코드의 값을 인터페이스 유형이 동일한 객체 키로 사용하려면 어떻게해야합니까?

  17. 17

    입력과 레이블을 사용하여 CSS만으로 축소 가능한 요소를 만들려면 어떻게해야합니까?

  18. 18

    bash가 기본적으로 색상 코드 출력을 사용하도록하려면 어떻게해야합니까?

  19. 19

    Box-API : .NET Portable Subset 용으로 작성된 타사 어셈블리에 강력한 이름을 추가하려면 어떻게해야합니까?

  20. 20

    이 문자열을 검색 가능한 개체로 구문 분석하려면 어떻게해야합니까?

  21. 21

    얼마 후 내 웹 사이트가 멈추는 것을 방지하려면 어떻게해야합니까?

  22. 22

    SQL을 사용하여 테이블에 백분율을 추가하려면 어떻게해야합니까?

  23. 23

    변경 불가능할 때 프로토 타입을 사용하여 문자열에 메소드를 추가하려면 어떻게해야합니까?

  24. 24

    이 창 및 응용 프로그램 시간 추적 스크립트가 정렬 된 출력을 생성하도록하려면 어떻게해야합니까?

  25. 25

    Excel에서 셀 내용의 숫자 부분을 추출하려면 어떻게해야합니까?

  26. 26

    4 개의 요소로 가능한 모든 이진 목록을 생성하려면 어떻게해야합니까? (Python 사용)

  27. 27

    추가 데이터를 사용하여 배열을 json으로 인코딩하려면 어떻게해야합니까?

  28. 28

    matplotlib 툴바의 사용자 정의 버튼에 기능을 추가하려면 어떻게해야합니까?

  29. 29

    로그인시 Jinja에 대한 값을 첨부하고 나중에 Apache Superset의 SQLLab에서 재사용하려면 어떻게해야합니까?

뜨겁다태그

보관