ํจ์๋ช ์์ฑ
ํจ์๋ช
์ ์์ฑํ ๋๋ ๋์ฌ+๋ช
์ฌ ํํ๋ก ๊ตฌ์ฑํ๋ค.
ex) *getUserInfomation()*
์ฝ์ด ์ฌ์ฉ ์์
letย idx;ย //ย badโ
letย index;ย //ย goodโ
letย cnt;ย //ย badโ
letย count;ย //ย goodโ
letย arr;ย //ย badโ
letย array;ย //ย goodโ
magic number ์ง์
์ฝ๋์์ ์ซ์๋ฅผ ์ง์ ์ฌ์ฉํ๋ magic number๋ฅผ ์ง์ํ๊ณ ,
magic number๋ ๋ฌธ์์ด์ ๋น๊ตํ ๊ฒฝ์ฐ, constant.js์ ์์ํ ํ์ฌ ๊ด๋ฆฌํ๋ค.
//constant.js
const LEFT = 'left';
const LOGIN_ERROR_MESSAGE = '๋ก๊ทธ์ธ์ ์คํจํ์ต๋๋ค.';
//other_logic_file.js
if (dir === LEFT) {
ย ย //...
}
๋น๋๊ธฐ ํจ์์ ์ฌ์ฉ์ Promiseํจ์์ ์ฌ์ฉ์ ์ง์ํ๊ณ async, await๋ฅผ ์ฌ์ฉํ๋ค.
๋ก์ง์ ์ง๋ ๋ฐ ์์ด promise๋ฅผ ๋ถ๊ฐํผํ๊ฒ ์ฌ์ฉํ ๊ฒฝ์ฐ, ์ฃผ์์ผ๋ก ํ์ํ๊ณ commit์ ๊ทธ ์ด์ ๋ฅผ ์์ฑํฉ๋๋ค.
ํ์ผ ํ์ฅ์๋ tsx๋ก ํ๋ค.
props๋ ๊ตฌ์กฐ๋ถํด ํ ๋น์ผ๋ก ๋ฐ์์จ๋ค.
const Button = ({type, onClick}) => {};
์ปดํฌ๋ํธ ํจ์๋ ํจ์ ์ ์ธ๋ฌธ (Function Declaration) ์ ์ฌ์ฉํ๋ค.
export default function MyComponent() {
return <div>Hello World</div>;
}
์ผ๋ฐ ํจ์๋ ํ์ดํ ํจ์ (Arrow Function) ๋ฅผ ์ฌ์ฉํ๋ค.
const Button = ({type, onClick}) => {};
component ํด๋์ ์ต์๋จ ํ์ผ์ ์ด๋ฆ์ component ํจ์ ์ด๋ฆ์ ๋ฐ๋ผ๊ฐ๋ค.
ex) *components/Header/index.tsx*
CSS-in-JS ๋๊ตฌ์ธ styled-components ๋ฅผ ์ฌ์ฉํ๋ค.
์คํ์ผ ๊ด๋ จ ์ฝ๋๋ ๋งจ ํ๋จ์ ์์น์ํจ๋ค.
๊ณต์ฉ์ผ๋ก ์ฌ์ฉ๋๋ ์คํ์ผ์ styles ๊ฒฝ๋ก์ ์์น ์ํจ๋ค.
ex) client\src\**styles**\themes.ts
wrapper์ ์คํ์ผ ์ ์ฉํ์ง ์๋๋ค๋ฉด, <>๋ก ํ๋ค.
styles.js์์ styled๋ก ๋ง๋ ์ปดํฌ๋ํธ๋ export { component } ๋ก ๋ด๋ณด๋ธ๋ค.
Styled๋ผ๋ ์ ๋์ฌ๋ฅผ ์ฌ์ฉํ์ฌ styled-components๋ก ๋ง๋ ์ปดํฌ๋ํธ๋ฅผ ๊ตฌ๋ถํ๋ค.
import styled from 'styled-components';
const StyledHeader = styled.h2`
color: red;
`;
export { StyledHeader };