책 리뷰

좋은 프로그래밍 습관

seungdols 2011. 11. 18. 17:49

좋은 프로그래밍 습관 | 읽었던 책

http://blog.naver.com/chltmdgh0822/60131782799
2011-06-09 12:06:11

여인춘 지음.

1. 모듈, 인터페이스 등을 확실하게 정의 시작하자

2. 상태 별로 제어하는 습관을 기르자

3. 일어날 있는 모든 입출력을 점검하자

4. 프로젝트의 단계를 하나씩 밟자

전체적인 구조파악

세부적인 알고리즘 검토

실제구현

디버깅과 수정

5. 필요하면 개발 환경을 직접 만들 있어야 한다.

6. 프로그램은 결과 중요하지만 과정도 중요하다

코드의 최적화

-CPU,메모리의 시간과 같은 리소스를 낭비하지 않고 적절하게 사용하는 최적화

코드의 재사용성

-다른 사람이 자신의 코드를 사용 별다른 수정 없이 사용 있도록 구성하는 모듈화

코드의 가독성

다른 사람이 소스 코드를 쉽게 이해 있게 하는 가독성

7. if 문과 case 문을 적절하게 섞어서 사용하자

8. 헤더 파일을 번만 인클루드 하는 노하우를 익히자

 1#ifndef ~ #ifdef ~ #endif 방법

 2#pragma once 방법

9. 당근과 채찍을 두루 사용하는 프로젝트 매니저가 되자

10. 주석은 필요한 정보만 간단하게 서술하자

11. 공백문자를 사용하여 코드를 보기 좋게 만들자

12. 변수를 사용할 때는 수직으로도 정렬하자

13. 전역 변수의 사용을 최대한 피하자

14. 정적변수를 활용하자

15. 정적함수로 접근 권한을 주자

16. 변수, 함수의 이름은 누구나 이해하기 쉽게 만들자

17. 같은 자료형을 서로 다른 목적으로 사용하려면 typedef 이용해서 새로운 자료형으로 정의해서 사용하자

18. const 포인터의 숨겨진 기능을 알아 두자

19. 메모리 주소를 출력할 때에는 %#x 형식 지정자를 사용하자

20. 함수의 다섯 가지 구성 원칙

프로토타입

반환 타입

함수의 이름

함수의 매개변수

함수의 내부 코드

21. 함수의 매개변수를 사용하여 연산하지 말자

22. 함수의 매개변수를 검사하자

23. 함수의 반환 값을 이용하여 함수의 실행여부를 판단하자

24. 디버깅을 위해 printf("[%s] , [%s] , [%d]\n", _FILE , _FUNCTION , _LINE); 활용하자

25. 초보 프로그래머들의 실수 열가지

함수의 매개변수의 이름이 같은 경우

함수의 반환 값과 반환 값을 저장하는 변수의 자료형이 다른경우

제어변수의 연산을 제대로 하지 않은 경우

변수의 이름이 의미가 없는 경우

음수 값을 가질 없음에도 음수 검사를 하는 경우

포인터를 초기화 하지 않고 사용하는 경우

배열의 크기나 malloc 크기를 임의로 잡는 경우

If-else 문의 괄호를 제대로 설정하지 않는 경우

0 1 설정이 잘못 경우

==연산자 대신 = 연산자를 경우

26. 삼항 연산자를 적극 활용하자

27. 연산자의 우선순위를 항상 고려하자

28. ++x x++ 차이를 정확하게 알자

29. 연산자가 복잡해지면 괄호를 사용하자

30. 새로운 자료형을 선언할 때는 typedef 사용하자

31. 여러 개의 상수를 선언할 #define보다 열거형을 사용하자

32. 비트 연산을 때는 자료형의 크기를 고려하자

33. ~ 연산자와 !연산자의 차이를 확실하게 알아 두자

34. 모든 변수는 메모리에 할당된다는 사실을 기억하자

35. 10진수 표현보다 2진수나 16진수에 익숙해지자

36. 메모리의 주소의 개념에 대해서 제대로 알고 프로그래밍하자

37. 문자열을 다루는 세가지 방법을 알아 두자

38. 문자열의 끝에는 반드시 '\0' 표시를 하자

39. malloc 함수를 사용할 때는 szieof 함수와 strlen 함수를 구별해서 사용하자

40. 구조체 포인터를 사용할 때는 sizeof(*ptr) 형식을 사용하자

41. #define문을 사용하여 소스코드에서 사용하는 상수들을 미리 정의하자

42. 포인터는 선언하자마자 초기화 하자

43. 논리적인 버그가 생길 있는 부분에 검사 코드를 넣어 두자

44. 메모리의 할당과 해제를 때에는 별도의 함수를 사용하자

45 .하나 이상의 반환 값이 필요할 때는 포인터를 사용하자

46. 포인터가 가리키는 값을 증가 시킬 때에는 반드시 괄호를 사용하자

47. malloc() free()함수를 정확하게 구분해서 사용하자

48. 모든 자료형을 복사할 때는 memcpy()함수를 사용하자

49. 초기화를 때는 memset()함수를 사용하자

50. 함수 포인터를 사용하자

51. 구조체 변수를 만들면 반드시 초기화하자

52. 구조체 내부에서 포인터를 사용하면 내부 항목도 메모리를 할당해 주자.

53. 구조체 포인터를 해제할 때는 철저하게 하자

54. 구조체 배열을 사용하면 데이터베이스가 부럽지 않다.

55. 구조체 안에 구조체를 선언하자.

56. 배열과 구조체 포인터를 연결해 사용하는 고수들의 개발 노하우를 배우자.

57. 공용체를 사용하자

58. 공용체와 구조체를 함께 사용하자

59. 고수들이 사용하는 전처리기의 기능을 알아 두자

#define

#pragma

#ifdef(또는 #ifndef)~#else ~#endif

매크로 함수

60. make 알아두자

리눅스나 유닉스 프로그래밍을 필수적이다.(임베디드 프로그래밍시에도).

61. 디버깅을 잘하는 사람이 진짜 고수다.

반응형

'책 리뷰' 카테고리의 다른 글

부자아빠 가난한 아빠 2 - 부자들이 들려주는 돈 관리 7가지 방법  (0) 2011.11.18
아프니까 청춘이다  (0) 2011.11.18
좌안 1, 2  (0) 2011.11.18
피라니아 이야기  (0) 2011.11.18
네 꿈에 미쳐라  (0) 2011.11.18