상당수 코드 기반은 전적으로 오류 처리 코드에 좌우된다 = 여기저기 흩어진 오류 처리 코드 때문에 실제 코드가 하는 일을 파악하기가 어렵다 오류 처리 코드로 인해 프로그램 논리를 이해하기 어려워진다면 깨끗한 코드라 부르기 어렵다 오류를 처리하는 기법과 고려 사항 1. 오류 코드보다 예외를 사용할 것 오류 플래그를 설정하거나 호출자에게 오류 코드를 반환하는 방법 -> 호출자 코드가 복잡해짐 오류가 발생하면 예외를 던지기(try-catch) 2. Try-Catch-Finally 문부터 작성할 것 try-catch 구조로 범위를 정의하고, TDD(테스트주도개발방식)를 사용해 필요한 나머지 논리를 추가 강제로 예외를 일으키는 테스트 케이스를 작성 후 테스트를 통과하게 코드를 작성하기를 권장 -> try 블록의 ..
React의 대표적인 특징 1. 단방향(하향식) 데이터 흐름 원칙(One-way data flow) React is all about one-way data flow down the component hierarchy 2. 상향식(bottom-up)으로 앱을 만듦 페이지를 만들기 전에 컴포넌트를 먼저 만들고 조립 -> 테스트가 쉽고 확장성이 좋음 3. 단일 책임 원칙 하나의 컴포넌트는 하나의 일만 함 State(상태) 컴포넌트 내부에서 변할 수 있는 값 변화가 필요한 데이터를 state로 저장하여 사용 상위 컴포넌트의 state를 하위 컴포넌트에 props으로 전달 Props(속성) 컴포넌트 외부로부터 전달받은 변하지 않는 값 컴포넌트가 최초 렌더링될 때 화면에 출력하고자 하는 데이터를 담은 초깃값으로 ..
MPA(Multiple Page Application) : 페이지마다 새로운 html을 받아와 화면에 보여주는 방식(깜빡인다고 표현함) 웹사이트가 복잡해지고 애플리케이션 형태를 가지게 되면서 사용자와 서비스 사이의 상호작용이 많아지고 트래픽 증가, 느린 반응성으로 사용자 경험의 저하를 야기시킴 (Header, Navigation Bar 등 중복되는 요소들을 매번 불러오는 것은 불필요한 트래픽 발생시킴) SPA(Single Page Application) : html 문서 전체가 아니라 필요한 데이터만 받아 업데이트하는 방식 업데이트에 필요한 데이터만 서버에서 전달받아 동적으로 HTML요소를 생성해서 화면에 보여주는 방식 JS와 historyAPI를 이용해 구현할 수 있는데 이를 쉽게하도록 도와주는 라이브..
변수를 비공개private로 정의하는 이유: 남들이 변수에 의존하지 않게하기 위해 그러면 get함수와 set함수를 공개public하여 비공개 변수를 위부에 노출하는 이유는? 자료 추상화 자료를 세세하게 공개하기보다 추상적인 개념으로 표현하는 편이 좋음 (구현 감추기) 추상화하기 위해 인터페이스나 get/set 함수만 추가하는 것은 좋지 않음 객체를 포함하는 자료를 표현할 방법을 고민해야 함 자료/객체 비대칭 자료 구조와 객체는 반대임. 자료 구조는 자료를 그대로 공개하며 별다른 함수를 제공하지 않음 객체는 추상화 뒤로 자료를 숨긴 채 자료를 다루는 함수만 공개 자료 구조(절차적)에 새 함수를 추가- 영향 없음, 새 클래스 추가- 함수 수정 객체(다형적)에 새 함수를 추가- 기존 클래스 전부 수정, 새 클..
코드가 깔끔하고, 일관적이며, 꼼꼼하고, 질서 정연하다는 인상 주기 코드 형식을 맞추기 위해 간단한 규칙을 정하고 그 규칙을 따라야한다. - 규칙을 자동으로 적용하는 도구를 활용하기도 함 형식을 맞추는 목적 전문 개발자의 일차적인 의무: 의사소통 처음 코드에서 시간이 지나 원래 코드를 찾아보기 어려울 정도로 코드가 바뀌어도 처음 잡아놓은 구현 스타일과 가독성 수준은 유지보수 용이성과 확장성에 계속 영향을 미친다 원활한 소통을 장려하는 코드 형식 적절한 행 길이를 유지할 것 반드시 지켜야하는 규칙은 아니지만 바람직한 규칙임 일반적으로 큰 파일보다 작은 파일이 이해하기 쉬움 프로젝트의 파일 길이를 조사했을 때 대부분 200줄 정도의 파일로도 커다란 시스템을 만드는데 충분했음(97p) 1. 신문 기사처럼 작성..
