Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- rniap
- js
- 정보처리기사
- 이펙티브 타입스크립트
- HTML
- 정처기 준비물
- react natvie
- Aggregate
- nextJS
- typeScript
- nextjs 라우팅
- BOUNDED CONTEXT
- DDD
- 속도개선
- 정처기 자격
- rn
- 이벤트 시스템
- 애그리게이트
- 빌딩 블록
- react native bridge
- in app purchase
- 타입스크립트
- IAP
- 비동기
- std::char_traits<unsigned char>
- 불변식
- nextjs route code
- react native 내부 구조
- TS
- nextjs사용이유
Archives
- Today
- Total
nika-blog
클린코드, code Style Guide 본문
클린코드란?
읽기 쉬운 코드
고려사항
- 단일 책임 원칙 : 하나의 인터페이스가 하나의 역할 수행
컴포넌트 분리할 때 디자인보다 시나리오를 중점적으로 바라보기
변수명
- 의도를 분명하게
- 검색하게 쉽게
- 명료한 이름
함수
- 동사사용
함수가 하는 일을 서술적으로 표현할 수 있는 이름 사용 - 인자 개수
0개가 가장 좋으나 3개 이상은 피하기 - 부수 효과 최소화
- 명령과 조회를 분리
수행하거나 답하거나 둘 중 하나만
예: 객체 상태 변경 또는 객체 정보 반환
좋은 주석
- 법적(저작권 정보 및 소유권 정보)
// Copyright (C) 2003,2004,2005 by Object Mentor, Inc. All rights reserved.
// GNU General Public License 버전 2 이상을 따르는 조건으로 배포한다.
- 정보 제공
- 의도 설명
- 결과 경고(시간 등)
- TODO 주석
- 중요성 강조
형식 맞추기
- 적절한 행 길이
- 변수는 사용하는 위치 최대한 가까이 선언
- 호출하는 함수보다 호출되는 함수 먼저 배치
- 개념적인 친화도가 높은 코드일수록 가까이 배치
리팩토링
- 중복 없애기
code Style Guide
들여쓰기
논리적으로 종속되어 있는 코드를 쓸 때, 종속된 code block은 주인 code block보다 두 칸 들여쓰기 합니다.
변수이름
한 단어 표현, 구조적 부분보다 변수 존재 목적 고려
Boolean 이름
is 또는 are 붙이기
function names
동사로 시작, {verbObject} 형식 사용
이름이 대문자인 경우
- 대부분의 사람들은 변수가 포함한 Class를 지시하기 위해 변수 이름의 첫 글자를 대문자로 씁니다.
- 몇몇 사람들은 new 키워드를 사용한 함수에 한해서 대문자를 쓰기도 합니다.
- 상수(constant), 즉 프로그램 전체에서 일정한 값을 가지는 변수의 이름을 정할 때는 그 변수의 이름은 전체를 대문자로 씁니다.
중괄호는 생략하지 말기
작은 따옴표 사용
JavaScript의 문자열을 쓸 때, 그 처음과 끝에는 작은 따옴표를 주로 쓰세요.
HTML은 태그 속성에 주위에 큰 따옴표를 붙이기 때문입니다.
<그 외>
- 세미클론 사용
- 3항 연산자 남용 금지
- switch 구문 사용 자제
- 짧은 코드 지향
- 이중 부정 사용 자제
- 연산자 사이에 띄워쓰기
- boolean 결과값 바로 리턴
if(charSet.size < text.length) {
return false;
}
return true;
'etc' 카테고리의 다른 글
정보처리기사 필기: 정처기 자격요건, 준비물, 기출문제 강의 (2) | 2023.05.17 |
---|---|
CORS(Cross-Origin Resource Sharing) 교차 출처 리소스 공유 (0) | 2022.03.04 |
Git: PR + 이슈 작성하기(Pull Request) (0) | 2022.02.24 |
Git 컨벤션 (0) | 2022.02.24 |
번들링과 빌드 시스템 (0) | 2022.02.20 |