๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ฑ… ๋ฆฌ๋ทฐ/ํด๋ฆฐ์ฝ”๋“œ

[ํด๋ฆฐ์ฝ”๋“œ] 2. ์˜๋ฏธ ์žˆ๋Š” ์ด๋ฆ„

์ฝ์€ ๋‚ ์งœ : 2024.08.19
์ง€์€์ด : ๋กœ๋ฒ„ํŠธ C. ๋งˆํ‹ด
์ถœํŒ์‚ฌ : ์ธ์‚ฌ์ดํŠธ

 

โœ”๏ธ ๊ธฐ์–ตํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ

์ด๋ฆ„์„ ์ž˜ ์ง“๋Š” ๋ฐฉ๋ฒ•

1. ์˜๋„๋ฅผ ๋ถ„๋ช…ํ•˜๊ฒŒ ๋ฐํžˆ๊ธฐ

  • ๋ณ€์ˆ˜, ํ•จ์ˆ˜, ํด๋ž˜์Šค ์ด๋ฆ„์œผ๋กœ ์กด์žฌ ์ด์œ , ์ˆ˜ํ–‰ ๊ธฐ๋Šฅ, ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ๋“œ๋Ÿฌ๋‚ผ ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
  • ๋”ฐ๋กœ ์ฃผ์„์ด ํ•„์š”ํ•˜๋‹ค๋ฉด ์˜๋„๊ฐ€ ๋ถ„๋ช…ํ•˜๊ฒŒ ๋“œ๋Ÿฌ๋‚˜์ง€ ์•Š์€ ๊ฒƒ์ด๋‹ค.
  • ์ฝ”๋“œ ๋งฅ๋ฝ์ด ์ฝ”๋“œ ์ž์ฒด์— ๋ช…์‹œ์ ์œผ๋กœ ๋“œ๋Ÿฌ๋‚˜์•ผ ํ•œ๋‹ค.
// Bad
int d;  // ๊ฒฝ๊ณผ ์‹œ๊ฐ„(๋‹จ์œ„: ๋‚ ์งœ)

// Good
int daysSinceCreation;
int daysSinceMotdification;

 

2. ์ฝ”๋“œ ์˜๋ฏธ๋ฅผ ํ๋ฆฌ๋Š” ์ž˜๋ชป๋œ ์ •๋ณด๋ฅผ ๋‚จ๊ธฐ์ง€ ์•Š๊ธฐ

  • ๋„๋ฆฌ ์“ฐ์ด๋Š” ์˜๋ฏธ ์žˆ๋Š” ๋‹จ์–ด๋ฅผ ๋‹ค๋ฅธ ์˜๋ฏธ๋กœ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ ๋œ๋‹ค.
  • ์ปจํ…Œ์ด๋„ˆ ์œ ํ˜•์„ ์ด๋ฆ„์— ๋„ฃ์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
    • accountList โžก๏ธ accounts

3. ์˜๋ฏธ ์žˆ๊ฒŒ ๊ตฌ๋ถ„ํ•˜๊ธฐ

  • ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅํ•œ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์ž.
  • ์—ฐ์†๋œ ์ˆซ์ž๋ฅผ ๋ง๋ถ™์ด๋Š” ๊ฒƒ์€ ํ”ผํ•˜์ž.
  • ๋ถˆ์šฉ์–ด๋ฅผ ํ”ผํ•˜์ž. ๋Œ€์ฒด๋กœ ์˜๋ฏธ๋ฅผ ๋ถˆ๋ถ„๋ช…ํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค.
    • ๊ด€์‚ฌ(a, an, the)
    • xxxInfo, xxxData, xxxObject
    • ๋ณ€์ˆ˜ ์ด๋ฆ„์— variable, ํ‘œ ์ด๋ฆ„์— table

4. ๋ฐœ์Œํ•˜๊ธฐ ์‰ฌ์šด ์ด๋ฆ„ ์‚ฌ์šฉํ•˜๊ธฐ

  • ๋ฐœ์Œํ•˜๊ธฐ ์–ด๋ ค์šฐ๋ฉด ์—…๋ฌด์ ์œผ๋กœ ํ† ๋ก ํ•˜๊ธฐ๋„ ์–ด๋ ต๋‹ค.
  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ์‚ฌํšŒํ™œ๋™์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์Œํ•˜๊ธฐ ์‰ฌ์›Œ์•ผ ํ•œ๋‹ค.

5. ์ ‘๋‘์–ด ํ”ผํ•˜๊ธฐ

  • ๋ฉค๋ฒ„ ๋ณ€์ˆ˜์— 'm_'์„ ๋ถ™์ด๊ฑฐ๋‚˜, ์ธํ„ฐํŽ˜์ด์Šค์— 'I'์„ ๋ถ™์ด์ง€ ๋ง์ž.
  • ์ ‘๋‘์–ด๋Š” ์ฃผ์˜๋ฅผ ํํŠธ๋ฆฌ๊ณ , ๊ณผ๋„ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•œ๋‹ค. (์ฐจ๋ผ๋ฆฌ ๊ตฌํ˜„์ฒด ์ด๋ฆ„์— ์ ‘๋ฏธ์–ด Imp๋ฅผ ๋ถ™์—ฌ๋ผ.)

6. ํด๋ž˜์Šค์™€ ๊ฐ์ฒด ์ด๋ฆ„์€ ๋ช…์‚ฌ(๊ตฌ)

7. ๋ฉ”์„œ๋“œ ์ด๋ฆ„์€ ๋™์‚ฌ(๊ตฌ)

  • ์ ‘๊ทผ์ž/๋ณ€๊ฒฝ์ž/์กฐ๊ฑด์ž๋Š” get/set/is๋ฅผ ๋ถ™์ธ๋‹ค.

8. ๊ธฐ๋ฐœํ•œ ์ด๋ฆ„์€ ํ”ผํ•˜๊ธฐ

  • ์žฌ๋ฏธ๋‚œ ์ด๋ฆ„๋ณด๋‹ค ๋ช…๋ฃŒํ•œ ์ด๋ฆ„์ด ์ข‹๋‹ค.
  • ํŠน์ • ๋ฌธํ™”์—์„œ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๋†๋‹ด๋„ ํ”ผํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

9. ํ•œ ๊ฐœ๋…์— ํ•œ ๋‹จ์–ด ์‚ฌ์šฉํ•˜๊ธฐ

  • ๋ฉ”์„œ๋“œ ์ด๋ฆ„์€ ๋…์ž์ ์ด๊ณ , ์ผ๊ด€์ ์ด์–ด์•ผ ํ•œ๋‹ค.
    • fetch, retrieve, get โžก๏ธ ์–ด๋–ค ๊ฑธ ์“ธ ๊ฒƒ์ธ๊ฐ€?

10. ํ•œ ๋‹จ์–ด๋ฅผ ๋‘ ๊ฐ€์ง€ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธฐ

  • add, append, insert โžก๏ธ ๋งฅ๋ฝ์— ๋”ฐ๋ผ ๊ตฌ๋ถ„ํ•ด์„œ ์“ฐ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

11. ๊ธฐ์ˆ  ๊ฐœ๋… & ๋„๋ฉ”์ธ ์˜์—ญ์„ ๊ตฌ๋ถ„ํ•˜๊ธฐ

  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด๋ฆ„, ํŒจํ„ด ์ด๋ฆ„, ์ˆ˜ํ•™ ์šฉ์–ด ๋“ฑ์„ ์‚ฌ์šฉํ•ด๋„ ๊ดœ์ฐฎ๋‹ค.
  • ๋„๋ฉ”์ธ๊ณผ ๊ด€๋ จ์ด ๊นŠ๋‹ค๋ฉด ๋„๋ฉ”์ธ ์˜์—ญ์—์„œ ์ด๋ฆ„์„ ๊ฐ€์ ธ์˜จ๋‹ค.

 

โœ”๏ธ ์˜ค๋Š˜ ์ฝ์€ ์†Œ๊ฐ

์ด๋ฆ„์„ ์ •ํ•  ๋•Œ๋Š” ์ ์ ˆํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์˜๋ฏธ์™€ ์˜๋„๋ฅผ ๋ถ„๋ช…ํžˆ ํ•˜๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.

ํŠนํžˆ 2๋ฒˆ, 3๋ฒˆ, 5๋ฒˆ, 9๋ฒˆ, 10๋ฒˆ์€ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•ด์„œ ๋ฆฌํŒฉํ† ๋ง์„ ํ•ด๋ณด๊ณ  ์‹ถ์–ด์กŒ๋‹ค.