본문 바로가기

codecraft8

[1부 코드와 마주보기] Chapter2 최고의 레이아웃 계획 코드 프레젠테이션(code presentation)이란? 코드의 내용이나 논리 구조가 아닌 코드의 겉모습을 말한다. 본래 코드 프레젠테이션에는 문법적, 의미론적 의미는 없다. 또한 컴파일러는 프레젠테이션을 무시한다. 그런데 왜 필요한가? 중요한가? 프레젠테이션은 코드의 질에 상당한 영향을 미치기 때문에!! 프로그래머는 레이아웃을 기초해서 코드 안쪽에 있는 의미를 읽는다. 잘못된 포매팅은 코드를 따라가기 힘들게 만들 뿐만 아니라, 버그도 숨길 수 있기에 중요하다! 누가 읽을 것인지 알아야 소스코드에는 세 종류의 독자가 있다. 우리 자신 코드를 쓰고 난 다음에는 자기 자신이 바로 읽을 수 있어야 할 뿐만 아니라, 몇 년이 지난 후에 다시 보았을 때도 읽을 수 있어야 한다. 컴파일러 코드가 문법에 맞기만 하면.. 2017. 9. 22.
[1부 코드와 마주보기] Chapter1 방어하기 방어적 프로그래밍이란? 더 안전한 코드를 위한 전략 제약과 어설션(assertion) 훌륭한 코드를 향해서 우리는 훌륭한 코드를 목표로 삼아야 한다. 방어적 프로그래밍은 잠재적인 코딩 문제가 쌓여가는 것을 방지하는 실무적인 방법. 최악을 가정하라 추측은 결함 있는 소프트웨어의 작성 원인이며, 방어적 프로그램을 작성할 때는 아무것도 추측하지 말아야 합니다. 각 단계에서 코드에 어떤 나쁜 일이 생길 수 있는지 생각해보자 사용자의 제어권 밖에 있는 일이 잘못될 수도 있다는 사실 (네트워크 오류, 디스크 풀, 컴퓨터 다운) 당장 할 수 있는 약간의 추가 작업을 건너뛰어서, 나중에 세상 전체를 고통과 지연으로 부터 구할 수 있는 기회를 놓치지말자. 험한 세상 방어적 프로그래밍은 이런 계획적인 악용을 경계하면서 프.. 2017. 9. 21.