본문 바로가기

codecraft8

[2부 코드의 비밀스러운 일생] Chapter8 시험 보는 시간 테스트는 코드 공예에 있어서 필수불가결한 요소 프로그램을 잘 작성하는 사람이라면 디버깅보다 테스트를 훨씬 더 많이 할 것이다. 에러(error) 당신이 일을 잘못하는 것을 에러라고 한다 사람이 행하는 동작 소프트웨어에 결함을 일으키는 원인 결함(fault) 결함은 에러의 결과 소프트웨어 안에 실체가 존대한다 고장(failure) 결함과 마주치면 그로 인해 고장이 일어날 수도 있다 버그(bug) 버그는 구어체 용어, 종종 결함과 동의어로 사용 소프트웨어 개발자로서 코드를 테스트하는 방법에 초점을 맞추자 누가, 무엇을, 언제, 왜? 왜 테스트를 하나 테스트는 결함이 없다는 사실은 절대 보여줄 수 없다 결함이 있다는 사실만 보여줄 뿐이다 누가 테스트를 하나 소스 코드의 테스트는 소스 코드를 작성한 프로그래머의.. 2017. 10. 29.
[2부 코드의 비밀스러운 일생] Chapter7 프로그래머의 도구 상자 훌륭한 기술자로 만드는 것은 이런 도구의 사용이다. 멋진 코드를 다듬어내기 위해서는 숙련된 기술자, 훌륭한 툴, 코드를 다듬는 방법의 마스터가 필요 프로그래밍은 정말로 툴이 없으면 안 되는 분야 그럼 eclipse는 무슨 IDE로 만들었을까? 소프트웨어 툴이란? 프로그램을 빌드하는 프로그램 복잡성 아주 특정한 작업을 수행하는 것부터 전체 프로젝트에 관련된 것까지 사용 빈도 계속 사용되고, 필요할 때 엄청난 가치가 있다 인터페이스 예쁜 GUI 혹은 명령행 인터페이스 통합 그래픽 통합 개발 환경 비용 무상에서 유상까지 품질 왜 툴 걱정을 해야 하지? 툴은 우리가 일을 할 수 있게 만들어줄 뿐이다. 적절한 일에 적절한 툴을 적용할 줄 아는 것도 능숙한 프로그래머가 되기 위한 조건 중 하나 생활을 편하게 만들 .. 2017. 10. 28.
[1부 코드와 마주보기] Chapter6 사람은 실수를 하기 마련 우리는 유일한 실수 예방 방법이 실수를 감지하는 것이고, 유일한 실수 감지 방법이 자유롭게 질문하는 것이라는 사실을 알고 있습니다. - J. 로버트 오펜하이머 코드 안에 있는 발생할 수 있는 모든 에러 상황을 반드시 처리해야만 한다. 어디에서 나왔나? 에러는 불완전한 프로그램에 포함되어 있는 버그와는 다르다. 사용자 에러 훌륭한 프로그램이라면 그럴 때 사용자의 잘못을 지적하고 교정하도록 도와줄 것이다. 프로그래머 에러 이것은 다른 곳에 있는 버그나 프로그래머의 실수로 인한 결과 예외상황 하드디스크 공간 없음, 네트워크 연결 실패 에러 리포트 메터니즘 리포트 안 하기 에러 상황을 무시하지 말자 리턴 값 간단한 에러 리포트 메커니즘은 함수가 성공/ 실패 값을 리턴 하도록 만드는 것 에러 상태 변수 함수의 리.. 2017. 10. 27.
[1부 코드와 마주보기] Chapter5 가벼운 코멘트 코멘트(comment: 주석)는 의견과 아주 비슷합니다. 코멘트를 다는 것은 자유지만, 그렇다고 해서 반드시 그 내용이 옳은 것은 아니다. 코멘트는 우리의 생명선이고, 촉진제이고, 코드 전체를 통한 길잡이이다. 코멘트를 잘 다는 것은 위험한 코드를 예방하는 전략 중 하나이다. 코멘트란 무엇인가? 생각하는 것보다 더 철학적인 것 문법적으로 코멘트는컴파일러가 무시하는 소스 블록 코멘트는 컴퓨터가 겨냥하는 것이 아니라 프로그램을 읽는 사람을 겨냥한다. 우리는 책임 있는 프로그래머로서 코멘트를 잘 달아야 할 의무가 있다. 얼마나 많은 코멘트가 필요할까? 우리는 코멘트의 양이 아니라 질에 초점을 맞출 필요가 있다. 지나치게 많은 코멘트는 코드를 뒤죽박죽으로 만든다. 수 톤의 코멘트로 떠받칠 필요가 없는 코드를 작.. 2017. 10. 26.
[1부 코드와 마주보기] Chapter4 문서화 도구 좋은 코드를 만든다는 것은 잘 문서화된 코드를 만든다는 의미이다 스스로-문서화하는 (self-documenting) 코드를 작성 하자! 스스로-문서화하는 코드 코드에 대해서 완벽하고 올바른 설명을 하는 유일한 문서? 코드 자체 코드를 좋은 문서로 만들기 위해 할 수 있는 모든 일을 해야 한다. 누구든지 읽을 수 있는 그런 종류의 문서를 만들자. 스스로-문서화하는 코드는 쉽게 읽을 수 있는 코드이다. 제일 많이 나오는 쉽게 읽을 수 있는 우리의 코드는? 머리말 소스 파일은 코드 코멘트 헤더(code comment header)로 시작해야 한다. 팀 내에서 사용 하고 있다. 목차 최신 에디터나 IDE를 사용하면 파일에 있는 내용(모든 클래스, 함수, 변수)을 목록으로 볼 수 있기에 하지 말자. 부 소스 파일.. 2017. 9. 27.
[1부 코드와 마주보기] Chapter3 이름이 뭐길래 이름? 신원: 가장 기본적인 개념 행동: 행동에 대한 암시 인지: 이름은 무언가가 다른 것과 구분되는 실체임을 표시 왜 이름을 잘 붙여야 하나? 소스 코드의 작성은 모두 명료한 의사소통에 관한 것이라는 사실을 기억하자 명료한 이름을 붙이면 잘 만들어진 코드라는 품질보증 스티커가 하나 붙여지는 셈이다. 이름을 잘 붙이는 능력은 코드 장인의 중요한 스킬!! - 참 어렵다고 생각한다!! 쉽게 하는 방법이 있으면 공유하고 싶습니다? 있습니까? 코드 장인은 읽기 쉬운 코드를 작성하기 위해 열심히 일한다! 우리는 무엇에 이름을 붙이는가? 변수, 함수, 타입(클래스, 열거 타입, 구조체, 사용자 정의 타입), C++의 네임스페이스와 JAVA의 패키지, 메크로, 소스파일 이름 붙이기 무엇에 이름을 붙일 것인지가 가장 .. 2017. 9. 26.