728x90

프로그래밍 209

1장 코드는 이해하기 쉬워야 한다.

1장. 코드는 이해하기 쉬워야 한다 ★ 코드는 이해하기 쉬워야 한다. 이것이 코드를 작성할 때 가장 고려되어야 하는 원칙이다. __01. 무엇이 코드를 ‘더 좋게’ 만드는가? - 대부분의 프로그래머들이 프로그래밍과 관련된 내용들을 직관으로 판단한다. 하지만 이것이 항상 쉬운 일인 것은 아니다. __02. 가독성의 기본 정리 ★ 코드는 다른 사람이 그것을 이해하는데 들이는 시간을 최소화하는 방식으로 작성되어야 한다. 누군가가 코드를 완전히 이해한다는 것은 그가 코드를 자유롭게 수정하고, 버그를 짚어내고, 수정된 내용이 여러분이 작성한 다른 부분의 코드와 어떻게 상호작용하는지 알 수 있어야 한다는 뜻이다. 여기서의 누군가는 본인이 될 수도 있다. __03. 분량이 적으면 항상 더 좋은가? - 일반적으로 더 ..

"읽기 좋은 코드가 좋은 코드다" - 목차

1장. 코드는 이해하기 쉬워야 한다 __01. 무엇이 코드를 ‘더 좋게’ 만드는가? __02. 가독성의 기본 정리 __03. 분량이 적으면 항상 더 좋은가? __04. 이해를 위한 시간은 다른 목표와 충돌하는가? __05. 어려운 부분 PART I. 표면적 수준에서의 개선2장. 이름에 정보 담기 __01. 특정한 단어 고르기 __02. tmp나 retval 같은 보편적인 이름 피하기 __03. 추상적인 이름보다 구체적인 이름을 선호하라 __04. 추가적인 정보를 이름에 추가하기 __05. 이름은 얼마나 길어야 하는가? __06. 이름 포메팅으로 의미를 전달하라 __요약 3장. 오해할 수 없는 이름들 __01. 예: Filter() __02. 예: Clip(text, length) __03. 경계를 포함하..

"읽기 좋은 코드가 좋은 코드다" - 출판사 리뷰

출판사 리뷰 더 나은 코드를 작성하는 간단하고 실전적인 테크닉! 이 책은 매우 읽기 편한 코드를 작성하는 방법을 설명한다. 이 책을 관통하는 핵심 아이디어는 ‘코드는 이해하기 쉬워야 한다’는 것이다. 자신의 코드를 다른 사람이 읽고 이해할 때 걸리는 시간을 최소로 만들어야 한다. 그렇다고 어려운 기법을 장황히 설명하지 않는다. 실전적인 간단한 기법만으로도 코드를 훨씬 읽기 편하게 만들 수 있게 이끌어준다. 개발하는 언어에 종속되지 않아 누구나 읽을 수 있다! 이 책은 바로 이 아이디어를 C++, 파이썬, 자바스크립트, 자바 등을 포함한 여러 언어로 작성된 코드를 예로 들며 설명한다. 우리는 각 언어에 종속된 고급 기능을 일부러 사용하지 않았기 때문에, 설령 이런 언어를 다 알지 못한다고 해도 책을 읽는 ..

C언어 연습문제 풀이 CH11 (13~16)

13. 소문자/대문자로 구성된 문자열을 입력받아 모두 대문자로 변환하거나, 모두 소문자로 변환하는 프로그램을 작성하라. //소문자/대문자로 구성된 문자열을 입력받아 모두 대문자로 변환하거나, 모두 소문자로 변환하는 프로그램을 작성하라. #include #include #include int main() { do { char buffer[100]; printf("대소문자가 섞인 영어 문장을 입력하세요. : "); scanf_s("%s", buffer, 100); int input; printf("원하는 동작을 선택하세요. \n"); printf("1. 소문자를 대문자로 변경 \n"); printf("2. 대문자를 소문자로 변경 \n"); scanf_s("%d", &input); do { switch (in..

C언어 연습문제 풀이 CH11 (5~8)

5. 문자열 "information"과 "communication"을 두 개의 포인터 변수에 각각 저장하고, 두 문자열을 합하여 출력하는 프로그램을 작성하라. //문자열 "information"과 "communication"을 두 개의 포인터 변수에 각각 저장하고, 두 문자열을 합하여 출력하는 프로그램을 작성하라. #include #include #include int main() { const char* str1 = "information "; const char* str2 = "communication"; char* str = (char*)malloc(sizeof(char) * (strlen(str1) + strlen(str2) + 1)); strcpy_s(str, _msize(str), str1);..

C언어 연습문제 풀이 CH11 (1 ~ 4)

1. isalpha()를 이용하여 알파벳 대/소문자를, isdigit()와 ispunct()함수를 이용하여 숫자와 특수 문자를 출력하는 프로그램을 작성하라. //isalpha()를 이용하여 알파벳 대/소문자를, isdigit()와 ispunct()함수를 이용하여 숫자와 특수 문자를 출력하는 프로그램을 작성하라. #include #include //C언어는 아스키코드로 문자를 표현하고 아스키코드는 총 256개(1byte)이다. int main() { printf("isalpha : "); for (int i = 0; i < 256; i++) { if (isalpha(i)) { printf("%c ", i); } } printf("\n"); printf("isdigit : "); for (int i = 0;..

C언어 표준 라이브러리 주요예제 3 (자료 변환 처리 함수 ~ 시간 관련 함수)

1. 키보드로부터 두 문자열을 입력받고, 이것을 double형 실수로 변환하여 합하는 프로그램을 작성하라. #include #include #include int main() { char buffer1[120]; char buffer2[120]; printf("첫번째 실수를 입력하세요 : "); gets_s(buffer1,120); printf("두번째 실수를 입력하세요 : "); gets_s(buffer2,120); printf("두 수의 합은 %g입니다. \n", atof(buffer1)+atof(buffer2)); } 2. 키보드로부터 두 문자열을 입력받고, 이것을 int형 정수로 변환하여 합하는 프로그램을 작성하라. #include #include #include int main() { char ..

const int* 와 int* const의 차이점

int i; const int* cip = &i;//포인터 변수를 통해서 값을 변경하는 것을 금지. int* const ipc = &i;//포인터가 가리키는 대상을 변경하는 것을 금지. int main() { int i = 5; int j = 6; const int* cip = &i; cip = &j; // *cip = 8; 안됨 int* const ipc = &i; *ipc = 1; // ipc = &j; 안됨 } const int* const cipc = &i; //포인터가 가리키는 대상을 변경하는 것도 포인터 변수를 통해 값을 변경하는 것도 금지.

반응형