CRLF와 LF차이의 이해

Allow·2022년 3월 28일
2

왜 LF를 사용하라고 하는가?

개발을 하면서 협업을 할 때 Code Convention을 맞추기 위해 Check Style을 사용한다.
Check Style파일을 열어보면 줄바꿈 타입을 체크하는 부분이 있고, 줄바꿈 시 CRLF는 금지하고 LF는 허용하도록 설정되어있다.
아래는 네이버에서 제공하는 check style xml파일이다.

<module name = "Checker">
    <property name="severity" value="warning"/>
    <property name="fileExtensions" value="java"/>

    <!-- [newline-lf] -->
    <module name="RegexpMultiline">
        <property name="format" value="\r\n"/>
        <property name="message" value="[newline-lf] Line must end with LF, not CRLF"/>
    </module>

CR, LF란?

CR, LF는 타자기에서 유래된 단어이다.
타자기로 문서를 작성할 때 한 줄에 글자를 다 입력했으면 아래 줄로 이동시켜줘야한다.
아래 줄로 이동 하는 것이 Line Feed(LF)이고, 왼쪽 끝으로 밀어 주는 것이 Carrige Return(CR)이다.

사전적 의미

CR(Carrige Return)

Carrige 캐리지
(타자기 등의 기계에서 다른 부분을 이동시키는 부분)
네이버 사전

LF(Line Feed)

Line Feed 라인피드
모니터의 커서 위치나 프린터의 인쇄 위치를 한 줄 아래로 내리는 일.
네아버 사전

CRLF(CR + LF)

crlf
1.명사 컴퓨터속어 복귀와 개행(改行)
2.자동사 컴퓨터속어 개행하다
네이버 사전

OS별 줄바꿈

CR, LF는 위의 내용과 같이 타자기의 디지털 잔해(?)이며, 컴퓨터 OS별로 다른 줄바꿈 타입을 사용한다.

Linux(유닉스 계열)

리눅스에서는 줄바꿈을 LF가 기본값이다. (\n)

Windows

Windows에서는 줄바꿈을 CRLF이 기본값이다.(\r\n)

LF를 사용해야 하는 이유

다양한 코딩컨벤션 규칙과 개발자들에게 일관적인 코딩 스타일을 유지할 수 있게 도와주는 툴인 Prettier에서는 CRLF대신 LF사용을 권고하고 있다.

LF를 사용하는 이유는 협업때문인데 CRLFLF의 바이트 코드가 다르기 때문에 형상관리 툴에서 다른 코드로 인식함으로 Commit할 때 줄바꿈 타입이 다른 경우 변경하지 않은 파일에 대해서도 변경된 것으로 인식하기 때문에 LF로 통일하는 것이다.

참고

네이버 코딩 컨벤션
Prettier

profile
반갑습니다!

0개의 댓글