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

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์ฅ
- ์ด๋ฒ ๋ฒ๊ทธ๋ฅผ ์ ๋ชป ์ฐพ์์๊น / ์ ๋ง๋ค์์๊น๋ฅผ ๋ด์ฑ๋ฒ(๋ ์์ ์ ์๊ฐ, ์ฌ๊ณ ๊ณผ์ ์ ์ฐ๊ตฌ) ์ผ๋ก ๊ณ ๋ฏผํด ๋ณด๊ณ ์๋ค