# 코딩 컨벤션
## 백엔드
airbnb-base lint 사용
### eslint 설정
```javascript=
module.exports = {
env: {
browser: true,
node: true,
es2021: true,
},
extends: ["airbnb", "prettier"],
plugins: ["prettier", "react-hooks"],
ignorePatterns: ["node_modules/"],
rules: {
"no-console": "off",
camelcase: 0, //db에서 가져온 데이터가 snake case로 되어있어 오류가 나기 때문에 추가
},
};
```
### prettier 설정
```javascript=
module.exports = {
// 문자열은 홀따옴표(')로 formatting
singleQuote: true,
//코드 마지막에 세미콜른이 있게 formatting
semi: true,
//탭의 사용을 금하고 스페이스바 사용으로 대체하게 formatting
useTabs: false,
// 들여쓰기 너비는 2칸
tabWidth: 2,
// 객체나 배열을 작성 할 때, 원소 혹은 key-valueㅇ의 맨 뒤에 있는 것에도 쉼표를 붙임
trailingComma: "all",
// 코드 한줄이 maximum 100칸
printWidth: 100,
// 매개변수가 하나라도 괄호 생성
arrowParens: always
};
```
## 프론트엔드
airbnb lint 사용
### eslint 설정
```javascript=
module.exports = {
env: {
browser: true,
node: true,
es2021: true,
},
extends: ["airbnb", "prettier"],
plugins: ["prettier", "react-hooks"],
ignorePatterns: ["node_modules/"],
rules: {
"no-console": "off",
camelcase: 0, //db에서 가져온 데이터가 snake case로 되어있어 오류가 나기 때문에 추가
},
};
```
### prettier 설정
```javascript=
module.exports = {
// 문자열은 홀따옴표(')로 formatting
singleQuote: true,
//코드 마지막에 세미콜른이 있게 formatting
semi: true,
//탭의 사용을 금하고 스페이스바 사용으로 대체하게 formatting
useTabs: false,
// 들여쓰기 너비는 2칸
tabWidth: 2,
// 객체나 배열을 작성 할 때, 원소 혹은 key-valueㅇ의 맨 뒤에 있는 것에도 쉼표를 붙임
trailingComma: "all",
// 코드 한줄이 maximum 80칸
printWidth: 100,
// 매개변수가 하나라도 괄호 생성
arrowParens: always,
};
```
###### tags: `project base`