80자보다 긴 줄은 피해요

80자보다 긴 줄은 피해요

한 줄이 80자를 넘지 않도록 잡아주는 린트예요. 긴 줄은 가독성을 떨어뜨리기 때문이죠. 물론 dart format이 대부분 정리해 주지만, 마지막 손길은 우리가 해야 한답니다.

출처: lines_longer_than_80_chars — Dart linter rules

본문

80자보다 긴 줄은 피하세요.

가독성 연구에 따르면 긴 줄의 텍스트는 다음 줄의 시작으로 눈이 더 멀리 이동해야 해서 읽기 어렵다고 해요. 그래서 신문이나 잡지도 여러 개의 컬럼으로 본문을 나누죠.

정말로 80자를 넘는 줄이 계속 나온다면, 우리 경험상 코드가 너무 장황해서 그런 경우가 많아요. 더 간결하게 줄일 수 있는지 보세요. 가장 큰 주범은 보통 VeryLongCamelCaseClassNames 같은 긴 타입 이름이에요. 스스로에게 "타입 이름의 각 단어가 뭔가 중요한 걸 알려주거나 이름 충돌을 막아주나?"라고 물어보고, 그렇지 않다면 그 단어를 빼는 걸 고려해 보세요.

참고로 dart format이 이 작업의 99%를 자동으로 해 주지만, 마지막 1%는 우리 몫이에요. dart format은 80칸에 맞추기 위해 긴 문자열 리터럴을 쪼개지 않기 때문에, 그건 직접 해야 한답니다.

다만 URI와 파일 경로는 예외로 둬요. 이들이 주석이나 문자열(보통 import·export 문)에 등장할 때는 줄 길이 제한을 넘더라도 한 줄에 유지할 수 있어요. 그래야 소스 파일에서 특정 경로를 검색하기가 더 쉬워지거든요.

활성화하기

lines_longer_than_80_chars 규칙을 켜려면 analysis_options.yaml 파일의 linter > rules 아래에 lines_longer_than_80_chars를 추가하면 돼요.

linter:
  rules:
    - lines_longer_than_80_chars

YAML 맵(map) 문법으로 린터 규칙을 설정한다면, linter > rules 아래에 lines_longer_than_80_chars: true를 추가하면 됩니다.

linter:
  rules:
    lines_longer_than_80_chars: true

더 알아보기