미니맵에서 비교하는 좋은 코드와 나쁜 코드

좋은 코드(리팩터라든지 재작성한 코드)와 나쁜 코드(원래의 코드)를 미니맵으로 비교해 보았습니다.

환경


  • 소스는 Python2.7
  • PyCharm의 CodeGlance라는 플러그인으로 미니 맵 표시
  • 컬러 테마: Darcula
  • 미니 맵은 가로 폭 110 자리, 1 행의 높이는 1 픽셀과 3 픽셀로 표시

  • 미니맵



    A와 B, 어느 것이 좋은 코드이고 어느 것이 나쁜 코드입니까?

    1행 1픽셀로 표시





    1행 3픽셀로 표시



    A


    B


    비교



    전체 문자량



    A는 전체적으로 문자가 규규에 담겨있는 인상입니다.
    빈 줄이 적고 한 줄의 문자 수가 많기 때문입니다.

    B는 빈 줄을 적당히 포함하고 있기 때문에 깔끔한 인상입니다.

    코드 왼쪽



    A는 왼쪽에 공백이 많아 요철이 눈에 띕니다.
    for나 if의 네스트가 깊고, 그리고 그 안에서 덜컹 거리고 처리를 쓰고 있는 개소가 많기 때문입니다.

    B는 중첩이 얕고 왼쪽이 전체적으로 평평합니다.

    코드 오른쪽



    A는 오른쪽에도 문자가 많고, 오른쪽 끝 가득까지 문자가 있는 행도 눈에 띕니다.
    이것은 인수가 많은 함수의 호출등이 개행 없이 1행으로 쓰여져 있는 개소가 많기 때문입니다.

    B에서는 긴 행에 적절하게 개행을 넣고 있으므로, 우측에 공백이 눈에 띕니다.

    문자열 리터럴의 양



    ■■■의 색은 문자열 리터럴을 나타내지만, A에서는 이것이 매우 많습니다.
    이는 데이터를 저장하는 데 dict를 사용하기 때문입니다.

    B에서는 데이터를 저장하는 데 클래스를 사용하므로 문자열 리터럴이 적습니다.

    알다시피


  • 좋은 코드는 미니 맵에서도 아름답습니다
  • 나쁜 코드는 미니맵으로 봐도 더러움이 흘러 나오고 있다
  • 좋은 웹페이지 즐겨찾기