"이 책이 서가의 다른 기술 서적들보다 뚜렷이 돋보이는 점은 프로그래머가 된다는 것이 어떤 의미인지에 대한 이해가 담겨있다는 것이다. 프로그래밍은 미래를 덜 고통스럽게 만들려고 노력하는 것이다." "프로그래밍 행위 자체보다 프로그래머가 되는 과정에 질려버리기 쉬운것
실용주의 프로그래머는 책임감이 있기때문에 프로젝트가 방치된 채로 끝장나는 것을 가만히 옆에 앉아서 지켜보고만 있지 않는다. 삶을 살면서 누구나 불만은 매우 다양하다. 소프트웨어 개발은 구직자에게 주도권이 있는 직업중 상위권에 자리잡을 것이다. 우리 기술은 수요가 많고,
잘 설계가 되었다는 것은 그 물건이 사용하는 사람에게 적응하여 맞춰진다는 말이다. 이 말을 코드에 적용해 보면 잘 설계된 코드는 ''바뀜''으로써 사용하는 사람에게 맞춰져야 한다. 결합도를 줄이면 왜 좋을까? 관심사를 분리함으로 각각 더 바꾸기 쉬워지기 때문이다.
태그 - TIL, nomadcoder, 개발자북클럽, 노개북, 서평, 책도구는 (목수의) 손의 연장이 된 것이다..목수는 분명 처음부터 늘 함께했던 도구를 사용할 때 가장 행복할것이다. 대패가 나무위를 노래하듯이 미끄러져 나가는 걸 느끼면서..새로운 산물의 도구보다 기
태그 - TIL, nomadcoder, 개발자북클럽, 노개북, 서평, 책우리는 완벽한 소프트웨어를 만들 수 없다.완벽한 소프트웨어는 존재하지않는다. 누구도 완벽한 소프트웨어를 만들지 못했다. 프로그래머들은 '방어적'으로 코딩한다. 조금이라도 의심스러운 면이 들면 주어진
태그 - TIL, nomadcoder, 개발자북클럽, 노개북, 서평, 책모든 수단을 동원하여 가능한한 느슨하고 유연한 코드를 작성해야 한다. 현대의 미친듯한 변화의 속도에 따라 가려면,이번장의 목표는 불확실성 속에서도 우리가 작성한 코드들이 유연성과 적응력을 잃지않는
태그 - TIL, nomadcoder, 개발자북클럽, 노개북, 서평, 책동시성과 병렬성 ?동시성은 둘 이상의 코드조각이 동시에 실행중인것 처럼 행동하는 것이고, 병렬성은 실제로 동시에 실행되는 것이다. 동시성을 고려하지 않고 코드를 작성하기란 거의 불가능하다. 시간적결
태그 - TIL, nomadcoder, 개발자북클럽, 노개북, 서평, 책코딩에 들어가면 우리는 대부분 설계 내용을 컴퓨터가 실행 할 수 있는 문장으로 바꾸는 일만 하면 된다고들 생각한다. 하지만 이런 태도는 소프트웨어 프로젝트가 실패하는 가장 큰 원인이다. 이렇게 된
태그 - TIL, nomadcoder, 개발자북클럽, 노개북, 서평, 책완성이라는 것은 더 이상 더할것이 없을때가 아니라, 더 이상 뺄것이 없을때 달성되는 것이다.\-앙투안 드 생택쥐페리요구사항 수집은 프로젝트 초기에 이뤄진다. 수집이란말에서 요구사항을 쉽게 바구니에
태그 - TIL, nomadcoder, 개발자북클럽, 노개북, 서평, 책제멋대로이고 독립적인 사람들이 모인 팀에서도 실용주의 기법을 적용할 수 있을까 ? 대답은 "그렇다!"이다. 개인이 혼자 실용주의를 따라도 이점이 있지만, 그 개인이 실용주의 팀에서 일한다면 그 잇
추천사 > "사소한 곳에서 발휘하는 정직은 사소하지 않다." "소프트웨어 개발에서 아키텍처가 중요하다". 는 명제는 정말 유효하다. 단지 그 의미가 무엇인지 정확한 시각이 다를 뿐이다. 테스트 코드만으로 설계를 주도한다는 1990년대 후반 생각으론 더이상 안된다.
소프트웨어에서의 이름은 어디에나 쓰인다. 우리는 변수에도 이름을 붙이고, 함수에도 이름을 붙이고 인수와 클래스, 패키지에도 이름을 붙인다. 그외 소스파일과 폴더 그 무엇까지.. 이름을 잘 지으면 여러모로 편리하다. 이번 장에선 이름을 잘 짓는 간단한 규칙을 몇가지 소개
여성, 탈진, 멀티태스킹, 얼굴, 컨투어, 빈, 잠재의식, 무의식적으로, 슬퍼, 요법프로그래밍 초창기에는 시스템 루틴과 하위루틴으로 나눴다. 포트란과 PL/1 시절에는 시스템을 프로그램, 하위 프로그램, 함수로 나눴다. 지금은 함수만 살아 남았다. 어떤 프로그램이든 가
공책, 성적, 문방구, 그리다, 도 서, 쓰기, 종이, 주석, 라이브러리, 사무실, 드로잉, 연필나쁜 코드에 주석을 달지 마라. 새로 짜라.잘 달린 주석은 그 어떤 정보보다 유용하다. 하지만 경솔하고 근거없는 주석은 코드를 이해하기 어렵게 만든다. 오래되고 조잡한 주석
소유, 퍼즐 조각, 연결하다, 연결, 협력, 보유, 외딴, 실톱, 가입하다, 협력 관계, 사람들뚜껑을 열었을 때 독자들이 코드가 깔끔하고, 일관적이며, 꼼꼼하다고 감탄하면 좋겠다. 질서 정연하다고 탄복하면 좋겠다.프로그래머라면 형식을 깔끔하게 맞춰 코드를 짜야한다.
점, 원자, 윤곽, 연결하다, 다각형, 개요, 연결, 설계, 디지털, 회로망, 과학, 데이터, 개념변수를 비공개로 정의 하는 이유가 있다. 남들이 변수에 의존하지 않게 만들고 싶어서이다. 충동이든 아니든 변수타입이나 구현을 맘대로 바꾸고 싶어서이다. 그렇다면 어째서 수
거짓, 오류, 누락, 결 석, X, 빨간색, 가로 질러 가다, 편지, 동그라미, 구이, 상호 작용깨끗한 코드와 오류처리는 확실히 연관성이 있다. 상당수 코드 기반은 전적으로 오류 처리 코드에 좌우된다. 여기서 좌우된다는 표현은 코드기반이 오류만 처리한다는 의미가 아니다
책, 페이지, 읽다, 훈련, 소설, 문학, 천국, 구름, 배우다, 사랑, 도서관, 지혜, 알고있다이번장은 챌린지 특성한 한 단위로 묶어 적게 되었다. 다른때 보다 간략히, 느낀점 핵심 부분만 (읽었을때) 적어 올리기로 한다.풀, 울타리, 해변, 모래, 모래 울타리, 모
학교, 학교 책상, 판, 클래스 룸, 이전클래스는 가장 먼저 변수 목록이 나온다. 정적 공개 상수가 있다면 맨 처음에 나온다. 그 다음으로 비공개 변수가 나오며 , 이어서 비공개 인스턴스 변수가 나온다. 공개 변수가 필요한 경우는 거의 없다. 변수목록 다음에는 공개함수