the psychology of computer programming ch1 - andstudy/forge GitHub Wiki

ch1

1 ์žฅ

  • code review ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ๋Š”๊ฐ€?
    • ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค ์ž์ฒด์— ์˜จ๋ผ์ธ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๊ฐ€ ์ „์‚ฌ์ ์œผ๋กœ ๋“ค์–ด๊ฐ
      • ์ฒ˜์Œ์—๋Š” ์–ด์ƒ‰ -> ์ต์ˆ™ํ•ด์ง€๋‹ˆ ํšจ๊ณผ ๋งŒ์ (์›์ถ”)
      • ์‹ ์ž… : ์„ ๋ฐฐ๋“ค์ด ๋‚ด ์ฝ”๋“œ๋ฅผ ๋ด ์ฃผ๋‹ˆ ๋“ ๋“ ํ•˜๋‹ค
      • ํŒ€ : ์ฝ”๋“œ์˜ ๊ณต๋™ ์†Œ์œ , ์ „์ฒด๋ฅผ ๋ณด๋Š” ๋Šฅ๋ ฅ ์ƒ๊น€
      • ์ข‹์€ ๋„๊ตฌ๋„ ๋งŽ๋‹ค
  • ๋ฒ„๊ทธ๊ฐ€ ์ƒ๊ธฐ๋ฉด ๊ณ ๊ณ ํ•™์ž์ฒ˜๋Ÿผ ์™œ ์ด๋Ÿฐ ๋ฒ„๊ทธ๊ฐ€ ์ƒ๊ฒผ๋Š”์ง€ ์›์ธ์„ ์ฐพ๊ฒŒ ๋˜์—ˆ๋‹ค
    • debug == ํžˆ์Šคํ† ๋ฆฌ ์ถ”์ 
    • ๋ชจ๋“  ๋ฒ„๊ทธ๋Š” ๋ณ€๊ฒฝ์—์„œ ๋‚˜์˜จ๋‹ค
  • ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ํ•˜๊ธด ํ•˜๋Š”๋ฐ, ๋‹ด๋‹น์ž์ธ ์ƒ๊ธ‰์ž๋Š” ์‹œ๊ฐ„๋„, ์˜์ง€๋„, ๋Šฅ๋ ฅ๋„ ์—†๋‹ค
    • ๋‹ค๋ฅธ ์‚ฌ๋žŒ(์˜ˆ์ „ ์ƒ๊ธ‰์ž) ์˜ ์ฝ”๋“œ๋ฅผ ๊น”๋ณด๊ฒŒ ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ 50 % ์ด์ƒ์ด์—ˆ๋‹ค.
  • ๋ˆ„๊ตฐ๊ฐ€ ์ž์‹ ์˜ ์ฝ”๋“œ์— ๋Œ€ํ•ด ์ง€์ ํ•  ๋•Œ ๋Œ€์ฒ˜ํ•˜๋Š” ์ž์„ธ
    • ์‹ ์ž… ๊ฐœ๋ฐœ์ž ํ˜น์€ ๊ณ ์ฐธ ๊ฐœ๋ฐœ์ž์˜ ์ฝ”๋“œ๊ฐ€ ๋ง˜์— ์•ˆ ๋“ค๋•Œ ์–ด๋–ป๊ฒŒ ์„ค๋“ํ• ๊นŒ?
    • ๋ˆ„๊ฐ€ ์ง€์ ํ•ด ์ฃผ๋ฉด ๊ณ ๋งˆ์›Œํ•˜๋Š” ๋ถ„์œ„๊ธฐ๋ฅผ ๋งŒ๋“ค์ž.
    • ๋‚ด๊ฐ€ ์ง€์ ์— ํ™”๋ฅผ ๋‚ด๋ฉด ๋‹ค์‹œ๋Š” ๋‚˜๋ฅผ ๋„์™€์ฃผ์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค

2์žฅ

  • ์ข‹์€ ํ”„๋กœ๊ทธ๋žจ์ด๋ž€?
    • ์˜์‚ฌ 3ํ˜•์ œ ์ด์•ผ๊ธฐ. (์ฒซ์งธ : ์˜ˆ๋ฐฉ, ๋‘˜์งธ : ๋‚ด๊ณผ, ์…‹์งธ : ์™ธ๊ณผ)
      • [http://dolba.net/tt/k2club/2026 ๊ด€๋ จ๋œ ๋‚ด์šฉ - ๋‚ด๊ฐ€ ๋ช…์˜๋กœ ์†Œ๋ฌธ์ด ๋‚˜๊ฒŒ ๋œ ์ด์œ ๋Š” ์—ฌ๊ธฐ์— ์žˆ๋‹ค]
    • ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ๋ฒ„๊ทธ๋„ ๋ง‰์•„์ฃผ๋Š” ๊ฐœ๋ฐœ์ž(์˜ˆ๋ฐฉ), ๋ˆˆ์— ์ž˜ ์•ˆ ๋ณด์ด๋Š” ๋ฒ„๊ทธ๋ฅผ ์ž˜ ๊ณ ์น˜๋Š” ๊ฐœ๋ฐœ์ž(๋‚ด๊ณผ) vs ๋ˆˆ์— ๋ณด์ด๋Š” ๋ฒ„๊ทธ๋ฅผ ์ž˜ ๊ณ ์น˜๋Š” ๊ฐœ๋ฐœ์ž(์™ธ๊ณผ)
    • ํ•˜์ง€๋งŒ ์„ธ์ƒ ์‚ฌ๋žŒ๋“ค์€ ์…‹์งธ ์˜์‚ฌ๋งŒ ์ตœ๊ณ ๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค
  • ์š”์ˆ˜์‚ฌํ•ญ์ด ์ถฉ์กฑ๋˜๋‚˜ 10 ์ดˆ๊ฐ€ ๊ฑธ๋ฆฌ๋Š” ํ”„๋กœ๊ทธ๋žจ vs ์š”๊ตฌ์‚ฌํ•ญ์ด ์ถฉ์กฑ๋˜์ง€ ์•Š์œผ๋‚˜ 1์ดˆ๊ฐ€ ๊ฑธ๋ฆฌ๋Š” ํ”„๋กœ๊ทธ๋žจ
    • ๊ฐ€๋” ํ›„์ž๋ฅผ ์›ํ•˜๋Š” ๊ณ ๊ฐ๋„ ์žˆ๋‹ค. ๊ณ ๊ฐ์ด ์ง„์งœ๋กœ ์›ํ•˜๋Š” ๊ฑธ ์•Œ์ž
  • ๊ฐœ๋ฐœ์ž์˜ ํฌ์ƒ๊ธฐ์ค€์€?
    • ์–ด๋–ค ๊ธฐ์ค€์„ ๋งŒ๋“ค์–ด๋„ ๊ฑฐ๊ธฐ์— ์ตœ์ ํ™” ๋˜์–ด ๋ฒ„๋ฆฐ๋‹ค
    • ํŒ€ ๋‹จ์œ„๋กœ ํฌ์ƒํ•ด์•ผ ํ•˜๊ณ , ๊ด€๋ฆฌ์ž๋Š” ๋ˆ„๊ฐ€ ์–ด๋–ป๊ฒŒ ์ผ์„ ํ•˜๋Š”์ง€ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค
  • ์„ธ์ƒ์— ์™„๋ฒฝํ•œ ํ”„๋กœ๊ทธ๋žจ์€ ์—†๋‹ค
  • ํ”ผ์…”์˜ ๊ธฐ๋ณธ ์ •๋ฆฌ ๋ฒ•์น™
    • ํŠน์ • ํ™˜๊ฒฝ์— ์ ์‘๋˜๋ฉด ๋  ์ˆ˜๋ก ๋‹ค๋ฅธ ์ƒˆ๋กœ์šด ํ™˜๊ฒฝ์— ์ ์‘ํ•˜๊ธฐ ํž˜๋“ค๋‹ค
    • ํ•˜์ง€๋งŒ ์ƒˆ๋กœ์šด ํ™˜๊ฒฝ์— ์ ์‘ํ•˜๊ธฐ ์‰ฝ๋‹ค๋ฉด, ํŠน์ • ํ™˜๊ฒฝ์— ์ ์‘ํ•˜๊ธฐ ์–ด๋ ค์šธ ์ˆ˜๋„ ์žˆ๋‹ค
    • ๋ฒ”์šฉ ๊ฐœ๋ฐœ์ž vs ํŠน์ˆ˜ ๊ฐœ๋ฐœ์ž
  • ๋ฒ”์šฉ์„ฑ vs ์ตœ์ ํ™”
    • ์ž๋ฐ” VM ์˜ ์„ฑ๊ณต๊ณผ, ๋จธ์‹ ์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์œผ๋กœ ์ด๋ฏธ ๋ฒ”์šฉ์„ฑ์ด ์Šน๋ฆฌ๋ฅผ ๊ฑฐ๋’€๋‹ค.
    • ์ด์ œ C++ ์ด๋‚˜ ์ž๋ฐ”๋กœ ๊ฐœ๋ฐœํ•˜๋Š”๊ฒŒ ์ตœ์ ํ™”๋ผ๊ณ  ์ƒ๊ฐ๋˜๊ณ , ๋ชจ๋ธ๋ง ํˆด๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•˜๋Š” ๊ฒŒ ๋ฒ”์šฉ์„ฑ์œผ๋กœ ์ƒ๊ฐ๋˜๋Š” ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ์ง„ํ–‰๋  ๊ฒƒ์ด๋‹ค
  • ๊ฐœ๋ฐœ๋กœ๊ทธ, ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ๋กœ๊ทธ๋ฅผ ๋‚จ๊ธฐ๋Š”๊ฐ€
    • ์‹œ๊ฐ„๋‹น LOC(line of code) ๋ฅผ ๋‚จ๊ธฐ๊ฒŒ ํ–ˆ๋”๋‹ˆ 3์‹œ๊ฐ„ ๋™์•ˆ ํ•œ ์ค„ ์ž‘์—…ํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค.
      • ๊ทธ๋ ‡๋‹ค๊ณ  ๋†€์•˜๋‹ค๊ณ  ํŒ๋‹จํ•  ๊ฒƒ์ธ๊ฐ€? ๊ฐ์‹œ๋ฐ›๋Š” ๋А๋‚Œ์ด ๋“ ๋‹ค
    • ๊ท€์ฐฎ์€ ์ ๋„ ์žˆ์ง€๋งŒ ๊ฒฐ๊ณผ์ ์œผ๋กœ ํŒ€์— ๋„์›€์ด ๋œ๋‹ค๊ณ  ์ƒ๊ฐ๋œ๋‹ค
  • ๋ชจ๋“  ๊ฒƒ์„ ์ˆ˜๋ จํ•˜์ž (ํ‹ฑ๋‚ซํ•œ์Šค๋‹˜์˜ ๋งˆ์ธ๋“œํ’€๋‹ˆ์Šค, [http://agile.egloos.com/3782753 ํ‰ํ™”๋กœ์šด ์ „์‚ฌ])
  • ์ˆ˜์ •์„ ์–ด๋ ต๊ฒŒ ๋งŒ๋“œ๋Š” ์š”์ธ
    • ์ผ์ •์˜ ์••๋ฐ•, ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ์˜ ๋™์‹œ ์ง„ํ–‰
    • ๊ธ‰ํ• ๋•Œ๋Š” ํ…Œ์ŠคํŠธ๋Š” ๋‚˜์ค‘์— ํ•˜๋ผ๊ณ  ํ•ด ๋†“๊ณ ๋Š” ๋‚˜์ค‘์— ๋ฌธ์ œ ์ƒ๊ธฐ๋‹ˆ๊นŒ ๋ฌธ์ฑ… ๋ฐ›์•˜๋‹ค.
  • ์ผ์ • ์ค€์ˆ˜์˜ ๋ฌธ์ œ
    • ๋ชฉ์†Œ๋ฆฌ ํฐ ๊ณ ๊ฐ, ํ˜น์€ ๊ท€ํ•œ ๊ณ ๊ฐ์˜ ๋ฌธ์ œ๋ถ€ํ„ฐ ๋จผ์ € ํ•ด๊ฒฐํ•˜๊ฒŒ ๋œ๋‹ค
    • ํ•ฉ๋ฆฌ์ ์œผ๋กœ ์ผ์ •์„ ๋งŒ๋“ค ๋ฐฉ๋ฒ•์€? ์Šคํฌ๋Ÿผ์˜ sprint ๋ฅผ ์†Œ๊ฐœ
  • ํšจ์šฉ์„ฑ์„ ์œ„ํ•ด ํ•œ ์ผ์€?
  • ๊ธฐ์กด ๋ฆฌ์†Œ์Šค๋ฅผ ์ตœ๋Œ€ํ•œ ํ™œ์šฉ vs ์ƒˆ๋กœ์šด ๊ฒƒ์„ ์ฐฝ์กฐ
    • ๊ธฐํš์ž์˜ ์ž…์žฅ์—์„œ๋Š” ์ƒˆ๋กœ์šด ๊ฒƒ์„ ์ฐฝ์กฐํ•ด ๋‚˜์˜ ๋Šฅ๋ ฅ์„ ๋ณด์—ฌ์ฃผ๊ณ  ์‹ถ์–ดํ•œ๋‹ค. (์‚ฌ์‹ค ํ”„๋กœ๊ทธ๋ž˜๋จธ๋„ ๋น„์Šทํ•œ ์‚ฌ๋žŒ๋“ค์ด ์žˆ๋‹ค)

3์žฅ

  • ์ด๋ฒˆ ๋ฒ„๊ทธ๋ฅผ ์™œ ๋ชป ์ฐพ์•˜์„๊นŒ / ์™œ ๋งŒ๋“ค์—ˆ์„๊นŒ๋ฅผ ๋‚ด์„ฑ๋ฒ•(๋‚˜ ์ž์‹ ์˜ ์ƒ๊ฐ, ์‚ฌ๊ณ  ๊ณผ์ •์„ ์—ฐ๊ตฌ) ์œผ๋กœ ๊ณ ๋ฏผํ•ด ๋ณด๊ณ  ์žˆ๋‹ค