코드 냄새 03 - 함수가 너무 깁니다.

인간은 10줄을 넘어서면 지루해집니다.

TL;DR: Refactor and extract functions longer than 5 lines.



문제


  • 낮은 응집력
  • 하이 커플링
  • 읽기 어려움
  • 낮은 재사용률

  • 솔루션



    1) 리팩토링

    2) 일부 작업을 처리하는 작은 개체를 만듭니다. 단위 테스트.

    3) 작성 방법


  • 도서관

  • 샘플 코드



    잘못된




    <?
    
    function setUpChessBoard() {
    
        $this->placeOnBoard($this->whiteTower);
        $this->placeOnBoard($this->whiteKnight);
        //A lot of lines
        //.....
        $this->placeOnBoard($this->blackTower);
    }
    

    오른쪽



    <?
    
    function setUpChessBoard() {
        $this->placeWhitePieces();
        $this->placeBlackPieces();
    }
    

    발각



    모든 린터는 방법이 미리 정의된 임계값보다 클 때 측정하고 경고할 수 있습니다.

    처지


    또한 ~으로 알려진


  • 긴 방법

  • 더 많은 정보


  • Refactoring Guru

  • 태그


  • 복잡성

  • 결론



    긴 메서드를 더 작은 조각으로 추출합니다. 복잡한 알고리즘을 부분적으로 분해합니다. 이러한 부분을 단위 테스트할 수도 있습니다.

    학점



    사진 제공: Hari Panicker on Unsplash

    Programs are meant to be read by humans and only incidentally for computers to execute.



    도널드 크누스






    이 기사는 CodeSmell 시리즈의 일부입니다.




    마지막 업데이트: 2021/06/01

    좋은 웹페이지 즐겨찾기