Skip to content

Web Ground Rule

sang-gyeong lee edited this page Dec 19, 2020 · 5 revisions

Web ๊ทธ๋ผ์šด๋“œ ๋ฃฐ ๐Ÿ™‹โ€โ™€๏ธ๐Ÿ™‹โ€โ™‚๏ธ

โœ… ํ•„์ˆ˜ ํ˜‘์—… ์‹œ๊ฐ„์„ ์ฃผ์ค‘ 10:00 - 23:59 ์ •ํ•œ๋‹ค
์ด ์‹œ๊ฐ„์„ ์ œ์™ธํ•˜๊ณ ๋Š” ์„œ๋กœ ํ•ฉ์˜ ํ•˜์— ์–‘ํ•ด๋ฅผ ๊ตฌํ•˜๊ณ  ์—ฐ๋ฝ ๋ฐ ์†Œํ†ต์„ ํ•œ๋‹ค.
์ถ”๊ฐ€์ ์œผ๋กœ ํ•„์ˆ˜ ์ž‘์—… ์‹œ๊ฐ„์€ 10:00 - 21:00 ๋กœ ์ •ํ•œ๋‹ค.

โœ… ์˜๊ฒฌ์ด ๊ฐˆ๋ฆฌ๋Š” ๊ฒฝ์šฐ, ๋‹ค์ˆ˜๊ฒฐ์„ ๋”ฐ๋ฅด๋˜ ๋‚˜๋จธ์ง€ ์‚ฌ๋žŒ๋“ค์ด ์„ค๋“์ด ๋  ๋•Œ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ์ง„ํ–‰ํ•œ๋‹ค.

โœ… ํ”„๋กœ์ ํŠธ์˜ ๊ถ๊ทน์ ์ธ ๋ชฉํ‘œ๋Š” ๊ธฐํš์„œ์˜ ํ•„์ˆ˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ชจ๋‘ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋ฉฐ, ๋ช…์‹œ๋˜์ง€ ์•Š๋Š” ์ƒํ™ฉ๊ณผ ๊ด€๋ จํ•ด์„œ๋Š” ํ•™์Šต์„ ์šฐ์„ ์œผ๋กœ ํ•œ๋‹ค.
๋ชฉํ‘œ๋Š” ํ•™์Šต์ด์ง€๋งŒ ๊ธฐ๋ณธ์ ์ธ ๋™์ž‘์— ๋Œ€ํ•ด์„œ๋Š” ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฌผ์„ ๋งŒ๋“ค ๊ฒƒ.

โœ… ๋‘ฅ๊ธ€๊ฒŒ ์‚ด์ž :)


์ฝ”๋“œ ๋ฆฌ๋ทฐ ๐Ÿ‘€ (๋งค์ผ!)

  • ์ž์œจ์ ์œผ๋กœ ์ž‘์„ฑํ•˜๋˜, ๋งค์ผ ์•„์นจ ๋ฆฌ๋ทฐ๋ฅผ ์ฒดํฌํ•˜๋ฉฐ ํ”ผ๋“œ๋ฐฑ์„ ๋‚จ๊ธฐ๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ง„๋‹ค.
  • ์˜๊ฒฌ์€ ํ•ญ์ƒ ๊ฐ•์š”๊ฐ€ ์•„๋‹Œ ์ œ์•ˆ์œผ๋กœ ์ž‘์„ฑํ•˜์ž.
  • ๋ฆฌ๋ทฐ์–ด์˜ ์˜๊ฒฌ์—” ์ ๊ทน์ ์œผ๋กœ ์ข‹์•„์š” ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ฃผ์ž(๊ฐ•์š”) - ๐Ÿ‘(3)
  • ๊ฐœ์„ ํ•ด์•ผํ•  ์ ์„ ํฌํ•จํ•ด์„œ ์ž˜ํ•œ๋ถ€๋ถ„์€ ์ ๊ทน์ ์œผ๋กœ ์นญ์ฐฌํ•ด์ฃผ์ž!

Web ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜ ๐Ÿค™

๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜

ํด๋ž˜์Šค

  • PascalCase
  • ๋ช…์‚ฌ ๋˜๋Š” ๋ช…์‚ฌ๊ตฌ๋ฌธ์œผ๋กœ ํ‘œ๊ธฐ

๋‚˜๋จธ์ง€

  • ๊ทธ ์™ธ์˜ ๋ชจ๋“  ๋ช…๋ช…์€ camelCase๋กœ ํ†ต์ผํ•ฉ๋‹ˆ๋‹ค. (์˜ˆ. ๋ณ€์ˆ˜๋ช…, db๋ช…, ํ…Œ์ด๋ธ”๋ช…, ์นผ๋Ÿผ๋ช… ๋“ฑ)

ํ•จ์ˆ˜๋ช… ์ปจ๋ฒค์…˜

[๋ฆฌ์•กํŠธ ํ•จ์ˆ˜]

  • ํ•จ์ˆ˜๋ช…์€ ์–ด๋–ค ๊ธฐ๋Šฅ์„ ํ•˜๋Š”์ง€ ๋ฐ”๋กœ ์•Œ์ˆ˜์žˆ๋„๋ก ์ง๊ด€์ ์œผ๋กœ ๋ช…๋ช…ํ•œ๋‹ค (์˜ˆ: onSubmitIssue, onChangeTitle)

๋ณ€์ˆ˜๋ช… ์ปจ๋ฒค์…˜

  • ๊ฐ€๊ธ‰์  ๋‹จ์–ด๋Š” ์ถ•์•ฝํ˜•์œผ๋กœ ์“ฐ์ง€ ์•Š๋Š”๋‹ค. (์˜ˆ์™ธ: promise -> prom, event -> e, error -> err)
  • ๋ฐ˜๋ณต๋ฌธ์„ ๋„๋Š” ๊ฐ์ฒด์˜ ์ด๋ฆ„์€ ๊ฐ€๊ธ‰์  ๋ช…ํ™•ํ•˜๊ฒŒ ํ•ด์ฃผ๋˜, ๋ถˆ๋ช…ํ™•ํ•œ ๊ฒฝ์šฐ elem์œผ๋กœ ํ†ต์ผํ•œ๋‹ค.
  • ๋“ค์—ฌ์“ฐ๊ธฐ ๋‘ ์นธ
  • ์„ธ๋ฏธ์ฝœ๋ก  ์‚ฌ์šฉ
  • ๋ฌธ์ž์—ด์€ ํ™‘๋”ฐ์˜ดํ‘œ ์‚ฌ์šฉ ('')
  • ์ปดํฌ๋„ŒํŠธ ์„ ์–ธ์‹œ์— function / ์ดํ•˜ ๋‚˜๋จธ์ง€ ํ•จ์ˆ˜๋Š” Arrow Function์„ ์‚ฌ์šฉ

์ฐธ๊ณ ๋งํฌ

ํƒ€์ž… ์ปจ๋ฒค์…˜

  • enum (PascalCase) enum Color { red } (X) enum Color { Red } (O)

  • ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๊ฐ’ (PascalCase) namespace Foo { }

  • ์ธํ„ฐํŽ˜์ด์Šค (PascalCase) interface Foo { }

  • ํด๋ž˜์Šค class Foo { bar: number; hello() {} } (O) class Foo { Bar: number; Hello() { } } (X)

  • ํ•จ์ˆ˜์ด๋ฆ„ function helloWorld(){ ... } (O) function HelloWorld{ ... } (X)

  • ํ”„๋กœํผํ‹ฐ(property) ์ด๋ฆ„ var fooVar; (O)

  • ์ง€์—ญ ๋ณ€์ˆ˜ ์ด๋ฆ„ ์ธํ„ฐํŽ˜์ด์Šค ์ด๋ฆ„ ์•ž์— I๋ฅผ ๋ถ™์ด์ง€ ์•Š๋Š”๋‹ค. ์˜ˆ) IFoo(X) ๋น„๊ณต๊ฐœ ํ”„๋กœํผํ‹ฐ ์•ž์— _๋ฅผ ๋ถ™์ด์ง€ ์•Š๋Š”๋‹ค. ์˜ˆ) _foo(X)

  • ์ง€์—ญ ๋ฉ”์„ธ์ง€ ์‚ฌ์šฉ message.json์„ ๋งŒ๋“ค์–ด์„œ ๋ชจ๋“  ๋ฌธ์ž์—ด์„ ๊ด€๋ฆฌํ•œ๋‹ค.

// ์˜ˆ์‹œ
{
    commentSuccess: "comment ๋“ฑ๋ก ์„ฑ๊ณต",
    ...
}

์ผ๋ฐ˜์ ์ธ ๊ตฌ์„ฑ

  • ECMA Script 6+๋ฅผ ์ค€์ˆ˜ํ•˜์—ฌ ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.
  • ์Šคํƒ€์ผ

ํƒ€์ž… ์•ž์— ๊ณต๋ฐฑ์„ ๋„ฃ๋Š”๋‹ค. const foo: string = "hello";

์„ธ๋ฏธ์ฝœ๋ก , ์ฝœ๋ก , ์ปด๋งˆ ๋’ค์—๋Š” ํ•ญ์ƒ ๊ณต๋ฐฑ์„ ๋‘”๋‹ค. for (var i = 0, n = str.length; i < 10; i++) { }

๋ณ€์ˆ˜๋Š” ๋‹จ์ผ ์„ ์–ธ์„ ํ•œ๋‹ค. (i.e. use var x = 1; var y = 2; over var x = 1, y = 2;)

  • ํ™”์‚ดํ‘œ ํ•จ์ˆ˜
(x) => x + x (X)
x => x + x(O)
(x,y) => x + y(O)
<T>(x: T, y: T) => x === y(O)
  • Null๊ณผ Undefined

null์„ ๋ฐ˜ํ™˜ํ•˜์ง€ ๋ง๊ณ  undefined๋กœ ๋ฐ˜ํ™˜ํ•  ๊ฒƒ

return null;         (X)
return undefined;    (O)

null / undefined๋ฅผ ์ฒดํฌํ•  ๋•Œ๋Š” ==, undefined / !=๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  === / !==๋Š” ์‚ฌ์šฉํ•˜์ง€ ๋ง๊ฒƒ

if (error !== null) (X)
if (error != undefined) (O)

ํƒ€์ž…์— undefined๋ฅผ ๋‘์ง€ ๋ง๊ณ  y?๋กœ ์ฒ˜๋ฆฌํ•  ๊ฒƒ let foo = {x:123, y:undefined};

์ถœ์ฒ˜: https://happygrammer.tistory.com/156 [happygrammer]


๋ฒ„์ „ ๊ด€๋ฆฌ

  1. 11/24 ๊ทธ๋ผ์šด๋“œ ๋ฃฐ ์ˆ˜์ •
Clone this wiki locally