코드 서식의 무엇이 문제길래 전세계의 개발자들 사이에서 논쟁이 많은걸까요?
이 외에도 특정 상황에서 중괄호를 사용하냐 마냐, 세미콜론을 쓰냐 마냐... 등 사소해 보이는 부분으로도 많은 의견 차이가 있답니다
2) 코드 서식을 일관적으로 관리하면 무엇이 좋을까요?
Case 1
sock.on("BUY", (data) => {
const emitData = {
...data,
date: new Date().toISOString(),
};
io.emit("BUY_GOODS", emitData);
});
Case 2 (한 줄에 모든 코드 작성)
sock.on("BUY", (data) => {
io.emit("BUY_GOODS", { ...data, "date": new Date().toISOString() });
});
Case 3 (객체 리터럴 내의 프로퍼티를 개행으로 구분)
sock.on("BUY", (data) => {
io.emit("BUY_GOODS", {
...data,
date: new Date().toISOString(),
});
});
Case 4 (문자열 리터럴 사용, 화살표 함수 괄호 생략)
sock.on('BUY', data => {
io.emit(BUY_GOODS, { ...data, date: new Date().toISOString() });
});
export default config;
Prettier 규칙에 대해 조금 알아보기
trailingComma: "es5"
// 원래 코드
const items = [
'item1',
'item2'
];
// Prettier 규칙을 적용한 후
const items = [
'item1',
'item2',
];
tabWidth: 4
// tabWidth: 2
function foo() {
console.log('Hello, world!');
}
// tabWidth: 4
function foo() {
console.log('Hello, world!');
}
semi: false
// semi: true
const x = 10;
const y = 20;
// semi: false
const x = 10
const y = 20
singleQuote: true
// singleQuote: false
const greeting = "Hello, world!";
// singleQuote: true
const greeting = 'Hello, world!';
arrowParens: "always"
// arrowParens: "avoid"
const square = x => x * x;
// arrowParens: "always"
const square = (x) => x * x;
6) 정리하자면
{
"trailingComma": "es5",
"tabWidth": 2,
"semi": true,
"singleQuote": true,
"arrowParens": "always"
}