Skip to content

๐Ÿ’ป ์ฝ”๋“œ ์ปจ๋ฒค์…˜

Hyunbin Lee edited this page Nov 9, 2022 · 2 revisions

โ€” Javascript

  1. ๋“ค์—ฌ์“ฐ๊ธฐ๋Š” ๊ณต๋ฐฑ ๋ฌธ์ž 2๊ฐœ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
    1. https://eslint.org/docs/latest/rules/indent
  2. ํ•œ ์ค„์— ํ•˜๋‚˜์˜ ๋ฌธ์žฅ์„ ์‚ฌ์šฉํ•˜๊ณ  ์„ธ๋ฏธ์ฝœ๋ก ์œผ๋กœ ๋๋‚ธ๋‹ค.
    1. https://eslint.org/docs/latest/rules/semi
  3. ๋ช…๋ช… ๊ทœ์น™
    1. ๋ณ€์ˆ˜์™€ ํ•จ์ˆ˜๋Š” camelCase ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
      1. https://eslint.org/docs/latest/rules/camelcase
    2. ์ƒ์ˆ˜๋Š” SNAKE_CASE ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
    3. ์ƒ์„ฑ์ž๋Š” PascalCase ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
    4. ๋ฒ”์šฉ์  ๋Œ€๋ฌธ์ž ์•ฝ์–ด๋Š” ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ( HTML, URL, ID ๋“ฑ )
  4. ์ „์—ญ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
  5. const, let ์„ ๊ฐ’ ๋ณ€๊ฒฝ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์ ์ ˆํ•˜๊ฒŒ ์‚ฌ์šฉํ•œ๋‹ค. var ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
    1. http://eslint.org/docs/rules/no-var
  6. ์™ธ๋ถ€ ๋ชจ๋“ˆ๊ณผ ๋‚ด๋ถ€ ๋ชจ๋“ˆ ์„ ์–ธ ์‚ฌ์ด์— ๊ณต๋ฐฑ์„ ๋‘”๋‹ค.
  7. ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ๊ฐ€ 1๊ฐœ์ธ ๊ฒฝ์šฐ์—๋งŒ ํ•œ ์ค„ ์ •์˜๋ฅผ ํ—ˆ์šฉํ•œ๋‹ค. 2๊ฐœ ์ด์ƒ์ผ ๊ฒฝ์šฐ์—๋Š” ๊ฐœํ–‰์„ ๊ฐ•์ œํ•œ๋‹ค.
    1. https://eslint.org/docs/latest/rules/object-property-newline
  8. ๊ฐ์ฒด์˜ ๋ฉ”์„œ๋“œ ํ‘œํ˜„ ์‹œ ์ถ•์•ฝ ๋ฉ”์„œ๋“œ ํ‘œ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
    1. https://eslint.org/docs/rules/object-shorthand
  9. ๋ฉ”์„œ๋“œ ๋ฌธ๋ฒ• ์‚ฌ์šฉ ์‹œ ๋ฉ”์„œ๋“œ ์‚ฌ์ด์— ๊ฐœํ–‰์„ ์ถ”๊ฐ€ํ•œ๋‹ค.
    1. http://eslint.org/docs/rules/lines-between-class-members
  10. ํ•จ์ˆ˜๋Š” ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ฐ•์ œํ•œ๋‹ค.
    1. http://eslint.org/docs/rules/prefer-arrow-callback
  11. ํ™”์‚ดํ‘œ ํ•จ์ˆ˜์—์„œ ์•”์‹œ์  ๋ฐ˜ํ™˜์„ ํ™œ์šฉํ•œ๋‹ค.
  12. ์˜ค๋ธŒ์ ํŠธ ํ”„๋กœํผํ‹ฐ์— ์ ‘๊ทผํ•  ๋•Œ Destructuring ์„ ์‚ฌ์šฉํ•œ๋‹ค.
    1. http://eslint.org/docs/rules/prefer-destructuring
  13. ํ•œ ์ค„์งœ๋ฆฌ ๋ธ”๋ก์ด๋ผ๋„ ์ค‘๊ด„ํ˜ธ๋ฅผ ์ƒ๋žตํ•˜์ง€ ์•Š๋Š”๋‹ค.
    1. http://eslint.org/docs/rules/brace-style
    2. http://eslint.org/docs/rules/curly
  14. switch-case ์‚ฌ์šฉ ์‹œ ์ฒซ ๋ฒˆ์งธ case ๋ฌธ์„ ์ œ์™ธํ•˜๊ณ  case ๋ฌธ ์ „์— ๊ฐœํ–‰ํ•œ๋‹ค.
  15. ์‚ผ์ค‘ ๋“ฑํ˜ธ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
    1. http://eslint.org/docs/rules/eqeqeq
  16. ๋ฐฐ์—ด์„ ์ˆœํšŒํ•  ๋•Œ for ๋ฌธ ์‚ฌ์šฉ์„ ์ง€์–‘ํ•œ๋‹ค.

[์ฐธ๊ณ ]

์ฝ”๋”ฉ ์ปจ๋ฒค์…˜


โ€” Typescript

  1. ํƒ€์ž… ์„ ์–ธ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ interface ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

  2. enum ์ด๋ฆ„์€ Pascal Case, ๋ฉค๋ฒ„๋Š” SNAKE_CASE ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

  3. ์ผ๋ฐ˜์ ์œผ๋กœ falsy ๊ฐ’์€ undefined ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ดˆ๊ธฐ๊ฐ’์„ ๋ฐ˜๋“œ์‹œ ๋ช…์‹œํ•ด์•ผ ํ•  ๊ฒฝ์šฐ์—๋Š” null ์„ ์‚ฌ์šฉํ•œ๋‹ค.

    1. ์ดˆ๊ธฐ ๊ฐ’์— undefined๋ฅผ ํ• ๋‹นํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ, ์ƒ์„ฑ ์‹œ ํ• ๋‹นํ•˜์ง€ ์•Š๊ณ  ์ธํ„ฐํŽ˜์ด์Šค(ํƒ€์ž…)๋ฅผ ์„ ์–ธํ•ด ์˜ต์…”๋„ ๊ฐ’์œผ๋กœ ์ง€์ •ํ•œ๋‹ค.
    // Bad, y๊ฐ€ undefined๋‹ค.
    let foo = { x: 123, y: undefined };
    // Good. ์ดˆ๊ธฐ ํ• ๋‹น์‹œ y๋ฅผ ํ• ๋‹นํ•˜์ง€ ์•Š์•„๋„ ๋˜๋ฉฐ, ๋‚˜์ค‘์— ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค
    let foo: { x: number, y?: number } = { x:123 };
  4. null ๊ณผ undefined ๋ฅผ ํ™•์ธํ•  ๋•Œ๋Š” ์ด์ค‘ ๋“ฑํ˜ธ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

    1. ์ด์ค‘ ๋“ฑํ˜ธ ์—ฐ์‚ฐ์ž๋Š” null, undefined ์™ธ ๋‹ค๋ฅธ falsy ๊ฐ’์— ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค.

[์ฐธ๊ณ ]

์Šคํƒ€์ผ ๊ฐ€์ด๋“œ


โ€” ํด๋” / ํŒŒ์ผ ์ด๋ฆ„

  1. ํƒ€์ž…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ํ•œ๋‹ค.
    1. Frontend
      1. ๊ณตํ†ต์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํƒ€์ž… (๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ์—์„œ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ํƒ€์ž…)์€
      2. ์ปดํฌ๋„ŒํŠธ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํƒ€์ž…์€ ๋™์ผํ•œ ์ปดํฌ๋„ŒํŠธ์ด๋ฆ„.d.ts ํŒŒ์ผ ์•ˆ์— ์ •์˜ํ•œ๋‹ค.
      3. ๋‹ค๋งŒ, ์ปดํฌ๋„ŒํŠธ Props์˜ ํƒ€์ž…์€ ์ปดํฌ๋„ŒํŠธ ํŒŒ์ผ ๋‚ด๋ถ€์—์„œ ์ƒ๋‹จ์— ์ •์˜ํ•œ๋‹ค.
    2. Backend
      1. ๋„๋ฉ”์ธ ํด๋”์— ์—”ํ‹ฐํ‹ฐ์™€ ๋ ˆ์ด์–ด๊ฐ„ ๋ฐ์ดํ„ฐ ์ด๋™์„ ์œ„ํ•œ DTO๋ฅผ ์ •์˜ํ•œ๋‹ค.
      2. Type์€ ์ „์—ญ์œผ๋กœ ๊ด€๋ฆฌํ•œ๋‹ค.
  2. ํ…Œ์ŠคํŠธ ํด๋”๋Š” ๋ณ„๋„๋กœ ๊ด€๋ฆฌํ•œ๋‹ค.

.. ์ถ”ํ›„ ์ถ”๊ฐ€ ์˜ˆ์ •

๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ ํŒ€

โ˜€๏ธ ๋ฐ์ผ๋ฆฌ ์Šคํฌ๋Ÿผ

1์ฃผ์ฐจ
2์ฃผ์ฐจ
3์ฃผ์ฐจ
4์ฃผ์ฐจ
5์ฃผ์ฐจ
6์ฃผ์ฐจ

๐Ÿ’ฌ ์ฃผ๊ฐ„ ํšŒ์˜๋ก

1์ฃผ์ฐจ
2์ฃผ์ฐจ
3์ฃผ์ฐจ
4์ฃผ์ฐจ
5์ฃผ์ฐจ
6์ฃผ์ฐจ

๐Ÿด ํšŒ๊ณ ๋ก

1์ฃผ์ฐจ
2์ฃผ์ฐจ
3์ฃผ์ฐจ
4์ฃผ์ฐจ
5์ฃผ์ฐจ
6์ฃผ์ฐจ
Clone this wiki locally