-
Notifications
You must be signed in to change notification settings - Fork 1
โ๐ป code convention
-
์๋ ์ ๋ ฌ
(์ฐธ๊ณ ) ํ์ ์์ ์ฌ์ฉ์ค์ธ CSS ์์ฑ ์์์ ์ฝ๊ฒ ์๋ ์ ๋ ฌํ๊ธฐ(VScode ํ์ฅํ๋ก๊ทธ๋จ) -
๋ชจ์ง๋ผ์์ ์ ์ํ CSS ์์ฑ ๊ธฐ์ ์์ ๋ฐ๋ฅด๊ธฐ
(์ฐธ๊ณ ) CSS ์ ์ธ์์ -
์ฝ๋ ํ๋จ์ ์์ฑ
-
์คํ์ผ.ts ๋ฐ๋ก ๋นผ์ง ์๊ณ ์ปดํฌ๋ํธ.tsx ํ ํ์ผ์ ๊ฐ์ด ์์ฑ
-
px ๋จ์ ๋์ rem ๋จ์ ์ฌ์ฉ (10px === 1rem)
-
ํญ์ ๋งจ ์์ย
St
ย ๋ถ์ฌ์ฃผ๊ธฐ -
์ต์๋จ ํ๊ทธ ์ด๋ฆ์ ย
St[์ปดํฌ๋ํธ๋ช ]
function Home() { return ( <StHome> ... </StHome> ); }
-
container์ wrapper ๊ตฌ๋ถํด์ ์ฌ์ฉํ๊ธฐ
container
๋ ์ฃผ๋กย ์ฌ๋ฌ ๊ฐ์ ์์๋ฅผ ๊ฐ์ธ๋ div์ด๊ณ ,wrapper
๋ย ๋จ์ผ ์์์ ๋ ์ด์์์ ์ํ div๋ฅผ ๋งํ๋ค. -
(์์จ) ๊ฐ๋ ์ฑ๊ณผ ์ถํ ํ์ฅ์ ๊ณ ๋ คํ์ฌ css ์์ฑ ๊ฐ ๊ฐํ์ ์ํํ
-
(์์จ) ๋ค์ด๋ฐ ์ฐธ๊ณ
- div : '์ปดํฌ๋ํธ๋ช 'Box
- section : '์ปดํฌ๋ํธ๋ช 'Section
- ul : '์ปดํฌ๋ํธ๋ช 'List
- li : '์ปดํฌ๋ํธ๋ช 'Item
- p : '์ปดํฌ๋ํธ๋ช 'Paragraph
- span : '์ปดํฌ๋ํธ๋ช 'Span
- components ํด๋ ์๋์์ ์๋ฌธ์ ํด๋๋ช
์ฌ์ฉ
- page๋ช (home, learn, review)
- ๋ ๋จ์ด ์ด์์ด๋ฉด camel case ์ฌ์ฉ
-
Function Names
on~~ = {handle~~}
<MyComponent onClick={handleClick} />
-
์ข ๋ ๋ณต์กํ ๋ค์ด๋ฐ
onํน์ง~~ = {handleํน์ง~~}
<MyComponent onAlertClick={handleAlertClick} onFormSubmit={handleFormSubmit} />
-
์ํฉ์ ๋ง๊ฒ 2๊ฐ์ง ๋ฐฉ์ ํผ์ฉ
- camel case ์ฌ์ฉ (ex. camelCase)
- ๋ณ์๋ var ์ฌ์ฉ ๊ธ์ง, ๊ทธ๋ฅ const !
- ์์ธ : ์์๋ ๋ฌด์กฐ๊ฑด ๋๋ฌธ์, ์ธ๋๋ฐ ์กฐํฉ โ EXAMPLE_NAME
- ๋ฐฐ์ด๊ณผ ๊ด๋ จ๋ ๋ณ์๋ช ์ __List (s ์ฌ์ฉ ๊ธ์ง)
- ๋ณ์ ๋ค์ด๋ฐ ์๋ ์ฐธ๊ณ
buttonSearch searchButton โ btnSearch searchBtn
- camel case ์ฌ์ฉ (ex. camelCase)
- ํจ์๋ช ์ ๋์ฌ๋ก ์์
- ํ์ดํ ํจ์ ์ฌ์ฉ
const ํจ์๋ช = () => {}
- pascal case ์ฌ์ฉ (ex. PascalCase)
- ์๋ ํ์๋๋ก ์ฌ์ฉ
interface ์ปดํฌ๋ํธ๋ช Props function ์ปดํฌ๋ํธ๋ช (props: ์ปดํฌ๋ํธ๋ช Props) { const { ๋ณ์1, ๋ณ์2, ๋ณ์3 } = props; return ( ) } export default ์ปดํฌ๋ํธ๋ช ; // styled-components
ํผ๊ทธ๋ง์์ svg๋ฅผ exportํด์ย src/assets/icons
ํน์ย src/assets/images
์ ์ ์ฅํ๊ณ ,ย src/assets/icons/index.ts
์ src/assets/images/index.ts
์ ์๋์ฒ๋ผ ์ถ๊ฐํด ์ฌ์ฉ
// ์์ด์ฝ ์์
export { default as icSample } from './icons/ic_sample.svg';
export { ReactComponent as IcSetting } from './ic_setting.svg';
// ์ด๋ฏธ์ง ์์
export { default as imgSample } from './images/img_sample.svg';
export { ReactComponent as ImgNewLink } from './img_new_link.svg';
๋ฆด๋ฆฌ์ฆ ์, ์ฃผ์ ์ ๊ฑฐ ์์ ์ฝ๋ ๋ฐ๋ก ์์ ์ฃผ์ ๋ฌ๊ธฐ
// ํ ์ค์ง๋ฆฌ
/* ์ฌ๋ฌ ์ค */