주뇽's 저장소
풀 리퀘스트 승인을 위한 6가지 필수 코딩 패턴 본문
728x90
반응형
풀 리퀘스트 승인을 위한 6가지 필수 코딩 패턴 🚀
효율적이고 가독성 높은 코드는 빠른 풀 리퀘스트(PR) 승인의 열쇠입니다. 다음 6가지 패턴을 따라 코드 품질을 높이고 동료들의 이해를 돕습니다.
1. 조기 반환(Early Returns) 사용과 주요 로직 왼쪽 정렬 ⬅️
❌ 나쁜 예:
function processUser(user) {
if (user.isActive) {
if (user.hasPermission) {
return doSomething(user);
} else {
return null;
}
} else {
return null;
}
}
✅ 좋은 예:
function processUser(user) {
if (!user.isActive) return null;
if (!user.hasPermission) return null;
return doSomething(user);
}
2. 이중 부정 피하기 🙅♂️
❌ 나쁜 예:
if (!user.isNotActive) {
// 사용자가 활성 상태일 때의 로직
}
✅ 좋은 예:
if (user.isActive) {
// 사용자가 활성 상태일 때의 로직
}
3. 기본 매개변수로 불필요한 else 문 제거 🧹
❌ 나쁜 예:
function greet(name) {
if (name) {
return `Hello, ${name}!`;
} else {
return "Hello, Guest!";
}
}
✅ 좋은 예:
function greet(name = "Guest") {
return `Hello, ${name}!`;
}
4. 루프 로직 모듈화 🔄
❌ 나쁜 예:
function processUsers(users) {
for (const user of users) {
// 긴 로직...
// ... (50줄 이상의 코드) ...
}
}
✅ 좋은 예:
function processUsers(users) {
for (const user of users) {
validateUser(user);
updateUserStatus(user);
notifyUser(user);
}
}
5. 함수 시그니처에 불리언 사용 피하기 🚫
❌ 나쁜 예:
function createUser(name, isAdmin) {
// ...
}
createUser("John", true);
✅ 좋은 예:
function createUser(name, role = "user") {
// ...
}
createUser("John", "admin");
6. 부작용이 있는 함수 피하기 💥
❌ 나쁜 예:
function calculateTotalPrice(items) {
let total = 0;
for (const item of items) {
total += item.price;
}
updateDatabase(total); // 부작용: 데이터베이스 업데이트
return total;
}
✅ 좋은 예:
function calculateTotalPrice(items) {
return items.reduce((total, item) => total + item.price, 0);
}
function updateTotalInDatabase(total) {
updateDatabase(total);
}
이 패턴들을 적용하면 코드의 가독성과 유지보수성이 크게 향상됩니다. PR이 더 빨리 승인되고 전체 프로젝트 품질이 높아질 것입니다.
출처
이 글은 다음 아티클을 참고하여 작성되었습니다:
Follow These 6 Patterns or I Will Reject Your Pull Request
'Git' 카테고리의 다른 글
[CI/CD] 배포를 자동화하는 방법: 깃액션과 SSH로 EC2에 프론트엔드를 배포하기🚀 (8) | 2024.09.07 |
---|---|
Git 충돌, 두려워 말자! 초보자도 쉽게 해결하는 방법 (0) | 2024.08.19 |
[Git Action] AWS-Lambda 배포 자동화 하기 (0) | 2024.08.02 |