리팩터링 12

초보자의 투두앱 코드를 한 단계 개선해보기: 코드 리뷰 Before & After

목차1. 주제 소개2. 핵심 내용3. 적용 방법4. 정리5. 자주 묻는 질문1. 주제 소개투두앱은 초보자가 JavaScript를 익힐 때 가장 많이 만드는 프로젝트입니다. 입력값 추가, 목록 렌더링, 완료 체크, 삭제, 저장까지 기본 기능이 골고루 들어 있어 연습에 좋기 때문입니다. 하지만 실제 코드를 보면 기능은 동작하는데 구조가 빠르게 복잡해지는 경우가 많습니다. 예를 들어 전역 변수에 상태를 몰아두고, 이벤트 핸들러 안에서 직접 DOM을 계속 수정하며, localStorage 접근도 여기저기 섞여 있으면 작은 기능 추가도 어렵습니다. 결국 "고치면 다른 기능이 깨지는" 경험을 자주 하게 됩니다.이번 글은 초보자의 투두앱 코드를 한 단계 개선하는 기준을 Before & After 관점으로 소개합니다...

바이브코딩을 위한 프롬프트 템플릿 5가지

목차1. 템플릿이 필요한 이유2. 바이브코딩용 핵심 템플릿 5가지3. 템플릿별 활용 시나리오4. 내 작업 흐름에 맞게 커스터마이징하는 법5. 자주 묻는 질문1. 템플릿이 필요한 이유바이브코딩의 장점은 빠른 실행이지만, 단점은 결과 편차가 크다는 점입니다. 같은 기능을 요청해도 어떤 날은 잘 나오고 어떤 날은 엉뚱하게 나오는 이유는 프롬프트가 매번 달라지기 때문입니다. 즉, 실력 문제가 아니라 입력의 일관성 문제입니다. 이때 가장 효과적인 해결책이 프롬프트 템플릿입니다.템플릿은 창의성을 제한하는 도구가 아니라, 반복 실수를 줄이는 안전장치입니다. 목표, 제약, 출력 형식을 고정해 두면 AI가 추측할 영역이 줄어들고 결과가 안정됩니다. 특히 입문자일수록 “무엇을 써야 할지 모르는 공백”이 큰데, 템플릿은 ա..

AI가 만든 코드를 그대로 쓰기 전에 점검할 것들: 초보 코드 리뷰 Before & After

목차1. 주제 소개2. 핵심 내용3. 적용 방법4. 정리5. 자주 묻는 질문1. 주제 소개요즘은 AI에게 코드 생성 요청을 하면 빠르게 결과가 나옵니다. 초보 개발자에게는 특히 큰 도움이 됩니다. 막힌 부분을 바로 뚫어주고, 새로운 문법 예시도 쉽게 확인할 수 있기 때문입니다. 하지만 여기서 가장 흔한 실수가 있습니다. "동작하니까 바로 사용"하는 습관입니다. AI가 만든 코드는 출발점으로 훌륭하지만, 프로젝트 문맥과 보안 요구사항, 팀 규칙까지 자동으로 완벽하게 맞춰주지는 못합니다. 그래서 검토 없이 붙여 넣으면 나중에 더 큰 비용을 치르게 됩니다.이번 글은 AI 생성 코드를 실무에 안전하게 적용하기 위한 점검 기준을 Before & After 관점으로 정리합니다. 핵심은 AI를 의심하자는 뜻이 아니라..

조건문이 너무 길어졌을 때 읽기 좋게 바꾸는 법: 초보 코드 리뷰 Before & After

목차1. 주제 소개2. 핵심 내용3. 적용 방법4. 정리5. 자주 묻는 질문1. 주제 소개초보 코드 리뷰를 하다 보면 가장 자주 만나는 장면이 긴 조건문입니다. `if` 안에 `if`가 들어가고, `else if`가 계속 이어지며, 논리연산자까지 섞이면 코드가 동작하더라도 읽기가 매우 어려워집니다. 특히 로그인, 결제, 권한 체크 같은 분기 많은 기능에서 이런 문제가 자주 나타납니다. 문제는 단순히 코드가 길다는 것이 아니라, 어떤 케이스가 먼저 처리되고 어떤 케이스가 누락됐는지 파악하기 어렵다는 점입니다. 이 상태에서는 수정할 때마다 예상치 못한 회귀 버그가 생기기 쉽습니다.이번 글에서는 길어진 조건문을 읽기 좋게 바꾸는 기본 기준을 Before & After 관점으로 정리합니다. 핵심은 분기 자체를 ..

localStorage 저장 코드를 함수로 분리해보기: 초보 코드 리뷰 Before & After

목차1. 주제 소개2. 핵심 내용3. 적용 방법4. 정리5. 자주 묻는 질문1. 주제 소개초보 프로젝트에서 localStorage는 매우 자주 사용됩니다. 다크모드 상태 저장, 최근 검색어 보관, 임시 폼 데이터 유지 같은 기능을 빠르게 만들 수 있기 때문입니다. 문제는 이 저장/조회 코드가 파일 곳곳에 흩어지기 시작할 때 발생합니다. 어떤 곳에서는 `JSON.stringify`를 쓰고, 다른 곳에서는 문자열 그대로 넣고, 키 이름도 제각각이면 버그가 생겨도 원인을 찾기 어렵습니다. 특히 파싱 오류나 null 처리 누락은 화면이 조용히 깨지는 원인이 됩니다.이번 글에서는 localStorage 코드를 함수로 분리해 안정성과 가독성을 높이는 방법을 Before & After 관점으로 정리합니다. 핵심은 단..

이벤트 처리 코드가 지저분해졌을 때 정리하는 법: 초보 코드 리뷰 Before & After

목차1. 주제 소개2. 핵심 내용3. 적용 방법4. 정리5. 자주 묻는 질문1. 주제 소개프론트엔드 초보 코드에서 가장 빨리 복잡해지는 부분은 이벤트 처리입니다. 버튼 클릭, 입력 변경, 스크롤, 모달 열기/닫기 같은 동작을 기능별로 급하게 붙이다 보면 `addEventListener`가 파일 곳곳에 흩어지고, 비슷한 콜백 로직이 반복되며, 상태 변경이 여러 군데서 동시에 일어납니다. 화면은 돌아가지만 "왜 이 버튼이 여기서도 반응하지?" 같은 예측 불가능한 버그가 생기기 쉽습니다. 특히 이벤트 바인딩 해제 없이 재렌더링이 반복되면 중복 호출까지 발생합니다.이번 글은 지저분해진 이벤트 코드를 정리하는 기본 기준을 Before & After 관점으로 설명합니다. 핵심은 고급 패턴보다 흐름 통제입니다. 이벤..

CSS 중복 코드를 줄이는 간단한 방법: 초보 코드 리뷰 Before & After

목차1. 주제 소개2. 핵심 내용3. 적용 방법4. 정리5. 자주 묻는 질문1. 주제 소개프론트엔드 초보 코드에서 가장 빠르게 늘어나는 것이 CSS 중복입니다. 버튼마다 비슷한 스타일을 따로 쓰고, 카드마다 거의 같은 여백과 그림자를 반복하고, 색상값을 여기저기 직접 입력하다 보면 파일이 길어지고 관리가 어려워집니다. 처음엔 눈앞의 화면만 맞추면 되기 때문에 문제를 느끼기 어렵지만, 디자인이 조금만 바뀌어도 수정 범위가 급격히 커집니다. 예를 들어 브랜드 컬러를 바꾸는 요청이 들어왔을 때 하드코딩된 색상값이 20군데 이상이면 수정 누락 가능성이 매우 높습니다.이번 글에서는 CSS 중복을 줄이는 가장 단순하고 효과적인 기준을 Before & After 관점으로 정리합니다. 핵심은 복잡한 아키텍처가 아니라 ..

HTML 구조를 보기 좋게 정리하는 Before & After: 초보 코드 리뷰 가이드

목차1. 주제 소개2. 핵심 내용3. 적용 방법4. 정리5. 자주 묻는 질문1. 주제 소개HTML은 화면을 "보이게" 만드는 언어이지만, 실무에서는 "읽히게" 만드는 능력이 더 중요합니다. 초보 단계에서 자주 나오는 문제는 div를 계속 중첩해 구조가 깊어지고, 클래스 이름이 뒤섞이며, 영역 구분이 없어 수정할 때 길을 잃는 상황입니다. 화면은 정상 출력되는데 코드만 보면 어디가 헤더인지, 어디가 본문인지, 어떤 블록이 반복되는 카드인지 한눈에 파악하기 어려운 상태가 됩니다. 이 경우 디자인 변경이나 기능 추가 시 작은 수정도 큰 스트레스로 이어집니다.이번 글은 HTML 구조를 보기 좋게 정리하는 기본 기준을 Before & After 관점으로 설명합니다. 핵심은 복잡한 기술이 아니라 구조적 습관입니다...

너무 긴 함수를 작게 나누는 기본 기준: 초보 코드 리뷰 Before & After

목차1. 주제 소개2. 핵심 내용3. 적용 방법4. 정리5. 자주 묻는 질문1. 주제 소개초보 개발자의 코드에서 자주 보이는 패턴 중 하나가 "한 함수에 모든 작업을 다 넣는 구조"입니다. 예를 들어 `submitOrder()` 함수 하나에서 입력 검증, 할인 계산, API 호출, 에러 처리, 화면 갱신, 알림 표시까지 전부 처리하는 경우가 많습니다. 처음에는 흐름이 한눈에 보인다고 느낄 수 있지만, 함수가 길어질수록 수정 포인트를 찾기 어려워지고 작은 변경도 전체 동작에 영향을 주게 됩니다. 결국 디버깅 시간은 늘어나고, 버그는 더 자주 생깁니다.이번 글은 너무 긴 함수를 작게 나누는 기준을 현실적으로 정리합니다. 핵심은 코드 미학이 아니라 유지보수 가능성입니다. 한 함수는 한 가지 책임만 갖게 만들고..

이름이 애매한 변수명 더 이해하기 쉽게 바꾸기: 초보 코드 리뷰 Before & After

목차1. 주제 소개2. 핵심 내용3. 적용 방법4. 정리5. 자주 묻는 질문1. 주제 소개코드가 길지 않은데도 이해하기 어려운 경우가 있습니다. 원인을 따라가 보면 대부분 변수명에서 막힙니다. `a`, `data`, `temp`, `value2`, `resultFinal` 같은 이름은 작성자 머릿속에서는 의미가 있지만, 며칠 뒤 본인이나 팀원이 보면 문맥을 다시 해석해야 합니다. 즉 코드가 동작하더라도 읽는 비용이 크게 증가합니다. 초보 단계에서는 기능 완성에 집중하다 보니 변수명을 대충 정하기 쉽지만, 실제 유지보수에서는 이 작은 습관이 가장 큰 시간을 잡아먹습니다.이번 글에서는 "이름이 애매한 변수명"을 어떻게 읽기 좋은 형태로 바꿀지 Before & After 관점으로 다룹니다. 중요한 기준은 어렵..