-
Notifications
You must be signed in to change notification settings - Fork 4
프론트엔드 개발 문서
noah edited this page Jul 2, 2023
·
15 revisions
- 코드 컨벤션
- 네이밍
- 변수명, 함수명
- 상수
- 컴포넌트, 객체, 클래스
- 축약어
- html 태그에 따른 스타일 컴포넌트 네이밍
- api
- CSS
- attribute 순서
- 상수
- 타입
- type
- interface
- 컴포넌트
- 선언
- props
- export default
- 리액트
- 확장자
- 작성 순서
- path alias
- react event handler
- React.[type]
- 네이밍
- 폴더 구조
- 사용 라이브러리
- 테스트
변수명, 함수명은 camelCase
로 한다.
// bad
const this_is_my_object = {}
const this_is_my_function = () => {}
// good
const thisIsMyObject = {}
const thisIsMyFunction = () => {
// ...
}
상수명은 UPPER_CASE
로 한다.
// bad
const myConstants = "상수"
// good
const MY_CONSTANTS = "상수"
컴포넌트, 객체, 클래스는 PascalCase
로 한다.
// bad
const myReactComponent = () => {
// ...
}
class person() {
// ...
}
// good
const MyReactComponent = () => {
// ...
}
class Person() {
// ...
}
축약하여 네이밍을 하지 않는다.
// bad
const myBtn = document.querySelector('.my-button')
const myFn = () => {
// ...
}
// good
const myButton = document.querySelector('.my-button')
const myFunction = () => {
// ...
}
모든 스타일 컴포넌트의 이름에는 기능을 암시하는 단어를 사용한다.
스타일 컴포넌트 네이밍 | 의미 |
---|---|
Layout | 최상위 레아웃을 설정할 때 사용한다. |
Container | 여러개의 요소를 묶을 때 사용한다. |
Wrapper | 하나의 요소를 묶을 때 사용한다. |
Box |
div 태그를 사용할 때 권장한다. |
List |
ul 태그를 사용할 때 권장한다. |
Item |
li 태그, 반복되는 요소를 사용할 때 권장한다. |
api 함수를 만들때 api method
가 어두에 작성한다. api method
가 아닌 단어는 어두에 작성하지 않는다.
// bad
const userGet = () => {
// ...
}
const searchUser = () => {
// ...
}
// good
const getUser = () => {
// ...
}
단, 다양한 api method
를 추상화 해야 하는 경우에는 fetch
를 어두에 작성한다. api method
에 대한 구분은 인자로 한다.
// bad
const getPostUser = () => {
// ...
}
// good
const fetchUser = () => {
// ...
}
유사한 성격의 attribute
을 묶어 작성한다. 다른 성격의 attribute
와는 개행으로 구분한다.
순서 | 성격 | 대표 attribute |
---|---|---|
1 | 레이아웃 | position, top, bottom, left, right, z-index, float, display, flex, flex-direction, grid, visibility |
2 | BOX | width, height, margin, padding, border, outline, box-sizing |
3 | 배경 | background, box-shadow |
4 | 폰트 | font, color, text, line-height, letter-spacing, white-space, break-word |
5 | 변형 | transform, transition, animate |
6 | 기타 | overflow, opacity, cursor |
created by @woosung1223 @jaehee329 @aak2075 @nlom0218 @yeopto @woo-jk @MoonJeWoong