250829 TIL & 사전캠프 마무리

2025. 8. 29. 18:25·내배캠 끄적끄적/Today I Learned

 

❗어떤 문제가 있었는지

  • 사전캠프 퀘스트 진행
    • 가위바위보 코딩
      • 단순 구현단계 까지는 생각한 대로의 결과값을 도출하는 과정을 받아냈지만, 리펙토링 과정에서의 어려움을 겪음
    • 계산기 만들기 (진행중)
      • 기본 계산기 형태의 코드 구성은 완료 하였으나 추가적인 기능 부여 과정에 있어서의 코드 구성에 어려움이 있었음

📝 내가 시도해본 것들

  • 계산기 만들기
    • ArrayList를 활용한 계산 이력 정보를 배열로 생성 및 기록

 


💡어떻게 해결했는지

 


👍 무엇을 새롭게 알았는지

  • Java 코드 컨벤션
    • 컨벤션을 지켜야 하는 이유
      • 가독성 향상
      • 유지보수성 증가
      • 협업 효율성 항상
      • 일관된 코드 스타일
      • 버그 발생 가능성 감소
      • 코드 리뷰와 자동화 도구와의 연계

    • Coding Convention vs Clean Code
      • Coding Convention(코딩 컨벤션)
        : Coding Convention은 개발자가 따라야 할 일련의 규칙과 스타일 가이드를 의미. 주로 코드의 형식과 구조를 표준화하는 데 중점을 두며, 팀 내에서 일관된 코딩 스타일을 유지하기 위한 규칙. 코드의 가독성과 유지보수성을 높이는데 목적이 있음
        • 특징 
          • 코드의 형식을 규정
            • 들여쓰기, 공백, 괄호 위치, 주석 스타일, 함수 및 변수 명명 규칙 등
          • 일관성 확보
            • 같은 프로젝트 내 모든 코드가 동일한 스타일을 유지하여 코드 리뷰와 협업이 쉬워짐
          • 주로 도구에 의해 체크
            • Linter나 포매터 같은 자동화 도구로 컨벤션 준수 여부를 검사할 수 있음
        • 예시)
          자바 코딩 컨벤션 : 
          • 변수명은 소문자로 시작, 클래스명은 대문자로 시작.
          • 한 줄에 너무 많은 코드를 작성하지 않음.
          • 중괄호는 새로운 줄에 작성(K&R 스타일)
      • Clean Code(클린 코드)
        : Clean Code는 코딩 컨벤션의 일부분을 포함하지만, 그보다 더 넓은 개념으로 코드의 품질과 설계 철학에 관한 것.
        가독성, 유지보수성, 효율성, 명료성을 모두 고려한 좋은 코드를 작성하는데 중점을 둠. 
        코드 자체가 직관적이고 명확하게 작성되도록 하는 것이 목표
        • 특징
          • 가독성
            • 다른 개발자가 코드를 쉽게 이해할 수 있어야 함
          • 간결성
            • 불필요한 코드나 복잡성을 제거하여, 코드는 간단하고 명확하게 유지
          • 함수 및 클래스 설계
            • 한 함수는 하나의 역할만 수행해야 하고, 클래스도 단일 책임 원칙(SRP)을 준수해야 함
          • 의도 전달
            • 함수나 변수의 이름만으로도 그 역할과 의도를 명확히 알 수 있어야 함
          • 주석 최소화
            • 코드 자체가 의도를 설명해야 하며, 불필요한 주석은 피함. 대신, 중요한 부분이나 복잡한 로직에서만 주석을 사용
        • 예시)
          클린 코드 원칙 (로버트 C. 마틴의 Clean Code에서 제시된 예시) :
          • 작고 단순한 함수 : 하나의 함수는 한 가지 역할만 수행해야 함.
          • 명확한 변수명 : var1, temp 같은 추상적 이름이 아니라 totalCost, userEmail 같은 의미 있는 이름을 사용
          • 중복 제거 : 중복된 코드를 줄이고, 코드의 재사용성을 높임
          • 짧고 간결한 코드 : 불필요한 조건문이나 반복문을 제거하고, 코드를 최대한 간결하게 유지
      • 차이점 요약
항목 Coding Convention Clean Code
초점 코드의 형식과 구조 (스타일, 명명 규칙) 코드의 품질과 설계 (가독성, 효율성)
목적 일관된 코딩 스타일을 유지 코드의 직관성, 유지보수성, 재사용성 향상
주로 다루는 부분 들여쓰기, 공백, 변수/함수 이름, 주석 등 함수 설계, 명확한 이름, 단순한 구조
검사 방법 Linter, 포매터 같은 자동화 도구 코드 리뷰, 소프트웨어 설계 원칙
팀 협업 코드 스타일을 통일하여 협업 효율성 향상 협업 시 코드를 쉽게 이해하고 유지보수 가능

 

 

 

'내배캠 끄적끄적 > Today I Learned' 카테고리의 다른 글

250902 TIL  (0) 2025.09.02
250901 TIL  (2) 2025.09.01
250828 TIL  (3) 2025.08.28
250827 TIL  (6) 2025.08.27
250826 TIL  (4) 2025.08.26
'내배캠 끄적끄적/Today I Learned' 카테고리의 다른 글
  • 250902 TIL
  • 250901 TIL
  • 250828 TIL
  • 250827 TIL
stark77
stark77
하마의 IT 자기개발 이모저모, 백엔드 개발자로 거듭나기
  • stark77
    하마의 개발자 성장일기
    stark77
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 컴퓨터구조와 운영체제
        • 컴퓨터구조
        • 운영체제
      • SQL 기초
      • Spring
        • 백엔드 기초
        • Spring 실습
      • JAVA
        • Java 실습
      • HTML&CSS
        • HTML&CSS 실습
      • Git&GitHub
        • Git&GitHub 실습
      • 내배캠 끄적끄적
        • Today I Learned
      • 유용한 툴 및 사이트 정리
      • 취미
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Spring
    MVC
    백엔드 기초
    java
    SpringSecurity
    객체지향
    Java 문법기초
    JPA
    프로세스와 쓰레드
    객체지향프로그래밍
    String.format
    실시간 데이터 처리
    RestTemplate
    algorithm
    thymleaf
    jsp
    백엔드 기초다지기
    Stomp
    for문
    BEAN
    Spriingboot
    경합조건과 교착상태
    Til
    웹소켓
    Github
    git
    HTML&CSS
    다형성
    WebSocket
    네트워크 기초
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
stark77
250829 TIL & 사전캠프 마무리
상단으로

티스토리툴바