![커널 코딩 스타일 문서에서 Linus는 무엇을 의미합니까? [폐쇄]](https://linux55.com/image/115956/%EC%BB%A4%EB%84%90%20%EC%BD%94%EB%94%A9%20%EC%8A%A4%ED%83%80%EC%9D%BC%20%EB%AC%B8%EC%84%9C%EC%97%90%EC%84%9C%20Linus%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9D%84%20%EC%9D%98%EB%AF%B8%ED%95%A9%EB%8B%88%EA%B9%8C%3F%20%5B%ED%8F%90%EC%87%84%5D.png)
내가 읽고있다Linux 커널 코딩 스타일, Linus는 다음과 같이 썼습니다(1장 들여쓰기):
숨길 것이 없다면 한 줄에 여러 문장을 넣지 마세요:
if (condition) do_this; do_something_everytime;
...
주석, 문서 및 Kconfig를 제외하고는 들여쓰기에 공백이 사용되지 않으며 위의 예는 의도적으로 깨졌습니다.
무슨 뜻인가요
something to hide
? 이것이 아이러니한가? 이 형식에 대한 인코딩 포인트는 물론 볼 수도 없기 때문입니다hide something
.또 다른 질문이 있습니다.
위의 예는 의도적으로 깨졌습니다.
의미는? 그게 무슨 뜻인가요?
위의 예는 의도적으로 이(공백 없음) 규칙을 위반했습니다.
감사해요: )
답변1
이러한 코딩 스타일은 코드의 목적을 오해하기 쉽습니다. 이 예에서는 들여쓰기와 같은 줄에 다른 명령문이 있기 때문에 해당 명령문이
do_something_everytime
블록에 있고if
true인 경우에만 실행될 것이라고 잘못 생각할 수 있습니다.condition
대신if
블록은 포함do_this
하고do_something_everytime
항상 실행됩니다.이 "악의적인" 들여쓰기는 과거 Apple의 유명한 소프트웨어와 같은 소프트웨어에서 버그를 일으켰습니다.TLS 인증서 확인Safari 및 기타 Apple 소프트웨어에 영향을 미칠 수 있습니다.
또한 이 예는 설명에 명확하게 명시된 공백 금지 규칙을 위반합니다.