[CTAP] 8# Advice and Answers

문연수·2022년 8월 20일
0

CTAP

목록 보기
9/9

1. Words

  • irritating: 짜증나게 하는, 자극하는
  • in advance:
    1. (~보다) 미리[앞서], 사전에
    2. (~보다) 앞선[진보한]
  • fiddling:
    1. 하찮은, 시시한
    2. (특히 지루하거나 초조해서) 만지작거리다.
    3. (세부사항을) 조작하다.
    4. 바이올린을 켜다.
  • eloquent:
    1. 웅변을 잘하는
    2. 감정을 드러내는
  • harpsichord: 하프시코드 (피아노 같이 생긴 현악기)
  • appreciate:
    1. 진가를 알아보다[인정하다]
    2. 고마워하다, 환영하다.
    3. (제대로) 인식하다 (= realize)
  • confident:
    1. 자신감있는 (-> self-confident)
    2. 전적으로 확신하는
  • never mind:
    1. 걱정하지마[괜찮아]
    2. (중요하지 않으니까) 신경쓰지마[괜찮아]
    3. ...은 고사하고 (= let alone)
  • dry run:
    1. (실행 전의) 총 연습
    2. 시운전
  • take something apart: ~을 분해하다 (= dismantle)
  • take something/somebody apart:
    1. (경기.대회 등에서) ~을 쉽게 이기다.
    2. ~를 맹비난하다[닦아세우다]
  • far into the night: 야심까지
  • seductive:
    1. (성적으로) 유혹[매혹/고혹]적인
    2. (하고 싶거나 갖고 싶도록) 마음이 끄는, 유혹적인 (= tempting)
  • stand on:
    1. ~에 기초하다, ~에 의거하다.
    2. ~에 만족하다, ~을 확신하다.
    3. ~을 주장하다, ~에 까다롭다.
  • anticipate:
    1. 예상하다.
    2. 예측하다.
    3. 기대하다.
  • in a way: 어느정도는, 어떤 면에서는
  • elicit: (정보, 반응을 어렵게) 끌어내다.
  • trivial: 사소한, 하찮은
  • lurk:
    1. (특히 나쁜 짓을 하려고 기다리며) 숨어있다[도사리다] (= skulk)
    2. (불쾌한 일, 위험이) 도사리다.
    3. 교묘한 속임수
  • stick to:
    1. (어려움을 참고) ~을 계속하다.
    2. ~을 (바꾸지 않고) 고수하다[지키다]
  • sloppy:
    1. 엉성한, 대충하는
    2. 헐렁한 (= baggy)
    3. (애정표현 등이) 질펀한[몹시 감상적인]
  • Don't be absurd: 바보같은 소리 하지마.

2. Summery

Perhaps the most important avoidance technique is to know what you're doing.

 사실 위 한 문장으로 Chapter 8 의 내용이 압축된다: 너 자신을 알라.

Thinking' is the cause of all error; I can prove this by the fact that whoever makes a mistake always says, "Oh, but I thought..." Never mind this kind of thinking - Bbefore you glue anything together you must know. Put the parts together without glue (called a 'dry run'), study how they fit, and check with your drowing, which shows how everything fits.

- David Jacques Way

깊은 통찰력, 진정한 지성: Thinking is the cause of all error.

- Make your intentions plain

Not only will this help you understand what you mean when you come back to the program, but it will also make things easier if someone else has to look at it later.

코드는 한번 작성되고, 여러번 읽힌다.

- Look at trivial cases

This applies both to figuring out how programs work and to testing them. So many programs fail when some part of their input is empty or has only one element that those are the cases to try first.

- Bugs lurk in dark corners

Stick to the well-known parts of the language. By doing that, you will make it easier to move your program to a new machine or compiler and make it less likely that you will run into compiler bugs.

Remember, your programs may well outlast your machine.

코드는 감가상각이 일어나는 공산품이 아니다. 이러한 제품은 원래의 공급자가 사라진 뒤에도 판매가치가 지속되거나 오히려 더 높아질 수 있다.
- 성당과 시장 (Eric S. Raymond), 130pg.

- Program defensively

Don't assume any more about your users or your implementation than you have to.

Defensive Programming 의 중요성.


 뒤의 남은 내용은 이전 장 ExerciseAnswer 고 그 뒤의 AppendixLibrary facilities 에 대한 설명이므로 생략한다. Appendix 부분은 varargsstdarg 부분만 집중해서 보면 될 듯 하다. 그 외 printf family 는 다른 C Library 서적에서 더 자세하게 설명하므로 생략한다.

3. References

[Site] https://www.itworld.co.kr/news/95751
[Site] https://en.wikipedia.org/wiki/Defensive_programming
[Book] 성당과 시장 (Eric S. Raymond)
[Book] C Traps and Pitfalls (Andrew Koenig)

profile
2000.11.30

0개의 댓글