프론트엔드 11

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

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

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 관점으로 정리합니다. 핵심은 단..

원하는 디자인이 안 나올 때 프롬프트를 수정하는 방법

목차1. 왜 결과가 마음에 들지 않을까2. 디자인 프롬프트 수정의 핵심 원칙3. 실패한 요청을 개선하는 실전 예시4. 반복 수정 시간을 줄이는 체크리스트5. 자주 묻는 질문1. 왜 결과가 마음에 들지 않을까AI에게 디자인을 요청했는데 결과가 밋밋하거나 의도와 다르게 나오는 이유는 대개 비슷합니다. “깔끔하게 만들어줘”, “예쁘게 바꿔줘”처럼 추상적인 표현만 있고, 구체적인 기준이 없기 때문입니다. AI는 이런 요청을 받으면 평균적인 안전한 결과를 선택하는 경향이 있습니다. 즉, 실패의 원인은 모델 성능 부족이 아니라 요구 조건의 모호함인 경우가 많습니다.특히 웹 디자인에서는 레이아웃, 타이포그래피, 컬러, 컴포넌트 밀도, 여백 리듬 같은 요소가 동시에 작동합니다. 그런데 요청에서 이 축들을 분리하지 않으..

이벤트 처리 코드가 지저분해졌을 때 정리하는 법: 초보 코드 리뷰 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 관점으로 설명합니다. 핵심은 복잡한 기술이 아니라 구조적 습관입니다...

AI에게 웹앱 기능을 단계별로 요청하는 프롬프트 구조

목차1. 왜 단계별 요청 구조가 필요한가2. 실전에서 쓰는 5단계 프롬프트 프레임3. 단계별 요청 문장 템플릿4. 실패를 줄이는 운영 원칙5. 자주 묻는 질문1. 왜 단계별 요청 구조가 필요한가AI에게 웹앱을 요청할 때 많은 사람이 처음부터 “로그인, 게시판, 검색, 관리자 페이지까지 다 만들어줘”라고 말합니다. 시작은 빠를 수 있지만 결과는 대개 불안정합니다. 기능이 섞인 상태로 생성되면 어디가 잘못됐는지 찾기 어렵고, 한 부분을 수정하면 다른 부분이 깨지는 일이 반복됩니다. 그래서 필요한 것이 단계별 요청 구조입니다.단계별 요청은 단순히 일을 쪼개는 방식이 아닙니다. 기능별 책임을 분리하고, 각 단계마다 검증 기준을 두어 리스크를 낮추는 방식입니다. 특히 초보자에게는 “무엇을 먼저 확인해야 하는지”가..

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

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