이 영역을 누르면 첫 페이지로 이동
codesche's blog 블로그의 첫 페이지로 이동

codesche's blog

페이지 맨 위로 올라가기

codesche's blog

chap05-형식 맞추기

  • 2023.03.22 21:44
  • Study Cafe/Clean Code 스터디

목차

  1. 포맷팅이 중요한 이유
  2. 클린코드 포맷팅
  3. Java Class Declarations
  4. Team Coding Convention

1. 포맷팅이 중요한 이유

image

○ 가독성에 필수적이다

  • 코드를 수월하게 읽어나갈 수 있다.
  • 아마추어처럼 보이지 않는다.
  • 포맷팅으로 인해 코드를 잘못해석해 버그를 발생할 수 있는 위험을 줄인다.

2. 클린코드 포맷팅

적절한 길이 유지 : ~200 lines, < 500 lines

○ 200 라인

  • 코드 길이를 200줄 정도로 제한하는 것은 반드시 지킬 엄격한 규칙은 아니지만, 일반적으로 큰 파일보다는 작은 파일이 이해하기 쉽다.
  • 코드 길이가 200라인을 넘어간다면, 클래스가 여러 개의 일을 하고 있을 수 있다. (SRP에 위배됨!)

○ 밀접한 개념은 가까이

  • 행 묶음은 완결된 생각 하나를 표현하기 때문에 개념은 빈 행으로 분리한다.
  • 변수는 사용되는 위치에서 최대한 가까이 선언한다.
    image

3. Java Class Declarations

image

○ Class 내부 코드 순서

  1. static 변수: public -> protected -> package -> private
  2. instance 변수 : public -> protected -> package -> private
  3. 생성자
  4. 메서드 : public 메서드에서 호출되는 private 메서드는 그 아래에 둔다. 가독성 위주로 그룹핑.

image

4. Coding Convention

✔ Coding Convention : 팀의 코딩 스타일에 관한 약속

○ Team Coding Convention
개발 언어의 컨벤션이 우선이지만, 애매한 부분은 팀 컨밴션을 따른다.

ex) Coding Convention 예시
image

○ 참고할 만한 컨벤션

  • Google Java Style Guide : https://google.github.io/styleguide/javaguide.html
  • Naver Hackday Java Convention : https://naver.github.io/hackday-conventions-java/

'Study Cafe > Clean Code 스터디' 카테고리의 다른 글

chap07-오류 처리  (0) 2023.03.24
chap06-객체와 자료구조  (0) 2023.03.24
chap04-코드를 보조하는 주석  (0) 2023.01.30
ch03-함수  (1) 2023.01.30
깨끗한 코드, 의미있는 이름(chap01 & chap02)  (0) 2023.01.12

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • chap07-오류 처리

    chap07-오류 처리

    2023.03.24
  • chap06-객체와 자료구조

    chap06-객체와 자료구조

    2023.03.24
  • chap04-코드를 보조하는 주석

    chap04-코드를 보조하는 주석

    2023.01.30
  • ch03-함수

    ch03-함수

    2023.01.30
다른 글 더 둘러보기

정보

codesche's blog 블로그의 첫 페이지로 이동

codesche's blog

  • codesche's blog의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록

카테고리

  • 분류 전체보기 (76)
    • Algorithm (15)
      • 백준 (3)
      • 프로그래머스 (10)
      • inflearn 알고리즘(Java) (2)
    • 블로그소개 (1)
    • Back-End (11)
      • Java (10)
      • SpringBoot (1)
    • Database (2)
      • MySQL (0)
      • MariaDB (1)
      • Redis (0)
      • 개념, 이론 (1)
    • Front-End (0)
      • html, css, javascript (0)
    • Git (2)
    • 알고리즘 지식 (11)
      • 자료구조 (11)
    • Study Cafe (21)
      • 기술면접 (6)
      • Clean Code 스터디 (14)
      • CS 스터디 (0)
      • 개발용어 (1)
    • 주간 에세이 (10)
    • DevOps (3)
      • 배포, Front&Back 연동 (1)
      • AWS (0)
      • Docker (1)
      • 이론 (1)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • java
  • 자바 기초
  • 주간에세이
  • 클린코드
  • 개발자 현실
  • 자바 변수
  • 자료구조
  • git commit

나의 외부 링크

정보

The Code의 codesche's blog

codesche's blog

The Code

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © The Code. Designed by Fraccino.

티스토리툴바