• 티스토리 홈
  • 프로필사진
    tjdudtn
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
tjdudtn
  • 프로필사진
    tjdudtn
    • 분류 전체보기 (299)
      • JAVA (155)
        • JAVA 수업 메모 (0)
        • JAVA 수업 파일 (0)
        • JAVA 기초문법 (18)
        • JAVA 객체지향 핵심 (25)
        • JAVA 유용한 클래스 (33)
        • JAVA Swing (18)
      • Data Structure( 자료구조 ) (17)
        • 컬렉션 프레임워크 (4)
        • JDBC (8)
      • 기초 개념 및 환경 설정 (17)
        • HTTP 기초 지식 (사전기반지식) (13)
        • 웹 서버와 웹 애플리케이션 서버(WAS)란? (1)
        • WAS와 웹 컨테이너의 역할 (1)
        • 아파치 톰캣 설치하기 (1)
        • 아파치 톰캣 시작과 폴더 구조 확인 (1)
      • 서블릿 기본 개념과 활용 (8)
        • 서블릿이란? (1)
        • 서블릿 Life Cycle 이란? (1)
        • 서블릿 작성, 배포, web.xml 설정의 이해 (1)
        • Get, Post 요청 방식의 이해 (1)
        • 서블릿과 서블릿 컨텍스트란? (1)
        • 서블릿과 데이터베이스 연동 (1)
        • 잠깐! server.xml과 context.xml.. (1)
        • 서블릿 필터와 리스너란 뭘까? (1)
      • JSP 기본 문법과 구조 (9)
        • JSP(Java Server Pages) 란? (1)
        • JSP 라이프사이클 (1)
        • JSP 기초문법 (1)
        • JSP 주석과 지시자 (1)
        • JSP 기본 태그 ( 스크립트릿, 선언, 표현식 .. (1)
        • JSP 지시자 ( Directive ) 간단 정리 (1)
        • JSP 내장 객체란 뭘까? (1)
        • 폼 처리와 요청 방식 (1)
        • 쿠키와 세션 관리 (1)
      • 서블릿과 JSP의 연동 (7)
        • 서블릿과 JSP의 개념과 차이점 (1)
        • 간단한 게시판 만들어 보기 (1)
        • JSP와 MVC 패턴 Todo 프로젝트 (1)
        • 커스텀 태그 ( JSTL ) 라이브러리 사용, (.. (1)
        • JSTL을 활용한 게시판 기능 만들기 (1)
        • JSP 파일 업로드 (1)
        • JSP 프로그래밍 활용 (1)
      • JavaScript (24)
        • JavaScript 게시판 만들기 (9)
      • Spring Boot (34)
        • Bank App 만들기 (deployment) (31)
      • Flutter (8)
      • MySQL (20)
      • 기술 면접 준비 자료 (0)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • 코딩 컨벤션
        2024년 09월 17일
        • tjdudtn
        • 작성자
        • 2024.09.17.:42
        💡 코딩 컨벤션(coding convention)은
         특정 프로그래밍 언어로 코드를 작성할 때 따르는 스타일 가이드 또는 규칙 세트입니다. 이는 변수명, 메서드명, 클래스명의 네이밍 규칙, 들여쓰기, 주석 작성 방법, 파일 구조, 코드 정렬 방식 등 프로그램의 가독성, 유지보수성, 일관성을 향상시키기 위한 방법론을 포함합니다.

        코딩 컨벤션 정의

        1. 정적 파일 (CSS, XML, JS)
          • 규칙: 소문자 사용, 단어 간 구분은 스네이크 케이스(_)로 합니다.
          • 예시: style_sheet.css, config_file.xml, main_script.js
        2. JSP 파일
          • 규칙: 카멜 케이스(CamelCase)를 사용하여 첫 글자는 소문자로 시작합니다.
          • 예시: home.jsp, accountPage.jsp
        3. 자바 파일 (클래스)
          • 규칙: 파스칼 케이스(PascalCase)를 사용하여 각 단어의 첫 글자는 대문자로 시작합니다.
          • 예시: HomeController.java, AccountService.java
        4. HTML id, name 속성
          • 규칙: 카멜 케이스를 사용하여 첫 글자는 소문자로 시작합니다.
          • 예시: <input id="userName" name="userName"/>
        5. CSS 클래스
          • 규칙: 소문자 사용, 단어 간 구분은 하이픈(-)(-)**``**으로 합니다. 외부 라이브러리와의 충돌 방지를 위해 접두사를 사용하는 것을 권장합니다.
          • 예시: .btn--primary, .nav--item
        6. URL 주소 설계
          • 규칙: 모두 소문자 사용, 단어 간 구분은 하이픈(-)**``**으로 합니다.
          • 예시: /user-profile, /get-account-details
        7. 데이터베이스 테이블
          • 규칙: 소문자 사용, 단어 간 구분은 스네이크 케이스로 합니다.
          • 예시: user_account, transaction_history
        8. 함수명 (서비스 레이어)
          • 규칙: 카멜 케이스를 사용하여 첫 글자는 소문자로 시작합니다. 함수가 수행하는 동작과 객체를 명확하게 표현합니다.
          • 예시: saveAccountDetails(Account account), findUserById(Long id)

        <aside> 💡 서비스 레이어

        서비스 레이어에서의 메서드 네이밍은 코드의 가독성과 유지보수성에 큰 영향을 미칩니다. 명확하고 일관된 네이밍 컨벤션을 사용함으로써, 코드를 더 쉽게 이해하고, 다른 개발자들이 코드와 상호 작용할 때 발생할 수 있는 혼란을 최소화할 수 있습니다. 아래는 서비스 레이어에서 널리 사용되는 네이밍 컨벤션 규칙입니다:

        CRUD 연산 Create: 새로운 엔티티를 생성하는 메서드는 create로 시작합니다.

        예: createUser(User user)

        Read: 엔티티를 조회하는 메서드는 read, find, get 등으로 시작할 수 있습니다. 단순 조회뿐만 아니라 조건에 따른 검색을 포함합니다.

        예: readUser(Long id), findUserByUsername(String username), getUserDetails(Long userId) Update: 엔티티를 수정하는 메서드는 update로 시작합니다.

        예: updateUser(User user) Delete: 엔티티를 삭제하는 메서드는 delete로 시작합니다.

        예: deleteUser(Long id)

        조회 연산 findBy: 특정 조건을 만족하는 엔티티를 찾을 때 사용합니다.

        예: findByUsername(String username) findAllBy: 주어진 조건을 만족하는 모든 엔티티를 찾을 때 사용합니다.

        예: findAllByStatus(String status) countBy: 특정 조건을 만족하는 엔티티의 수를 계산할 때 사용합니다.

        예: countByStatus(String status)

        명확한 도메인 객체 처리 표현 메서드 이름은 처리하는 특정 도메인 객체를 명확하게 나타내야 합니다. 이는 메서드의 목적이나 수행하는 작업을 직관적으로 이해할 수 있게 해 줍니다. 예: getOrderListByUserId(Long userId), updateUserProfilePicture(User user, Image picture)

        </aside>

         

        💡 서비스 레이어
        서비스 레이어에서의 메서드 네이밍은 코드의 가독성과 유지보수성에 큰 영향을 미칩니다. 명확하고 일관된 네이밍 컨벤션을 사용함으로써, 코드를 더 쉽게 이해하고, 다른 개발자들이 코드와 상호 작용할 때 발생할 수 있는 혼란을 최소화할 수 있습니다. 아래는 서비스 레이어에서 널리 사용되는 네이밍 컨벤션 규칙입니다:

        CRUD 연산 
        Create: 새로운 엔티티를 생성하는 메서드는 create로 시작합니다.
        예: createUser(User user)

        Read: 엔티티를 조회하는 메서드는 read, find, get 등으로 시작할 수 있습니다. 단순 조회뿐만 아니라 조건에 따른 검색을 포함합니다.
        예: readUser(Long id), findUserByUsername(String username), getUserDetails(Long userId) 

        Update: 엔티티를 수정하는 메서드는 update로 시작합니다.
        예: updateUser(User user)

        Delete: 엔티티를 삭제하는 메서드는 delete로 시작합니다.
        예: deleteUser(Long id)

        조회 연산 
        findBy: 특정 조건을 만족하는 엔티티를 찾을 때 사용합니다.
        예: findByUsername(String username) 

        findAllBy: 주어진 조건을 만족하는 모든 엔티티를 찾을 때 사용합니다.
        예: findAllByStatus(String status) 

        countBy: 특정 조건을 만족하는 엔티티의 수를 계산할 때 사용합니다.
        예: countByStatus(String status)

        명확한 도메인 객체 처리 표현 
        메서드 이름은 처리하는 특정 도메인 객체를 명확하게 나타내야 합니다. 이는 메서드의 목적이나 수행하는 작업을 직관적으로 이해할 수 있게 해 줍니다.
        예: getOrderListByUserId(Long userId), updateUserProfilePicture(User user, Image picture)

        구글 코딩 컨벤션 사례 살펴 보기

        Google Style Guides

         

        Google Style Guides

        Style guides for Google-originated open-source projects

        google.github.io

         

        'Spring Boot > Bank App 만들기 (deployment)' 카테고리의 다른 글

        화면 구현 - 1(템플릿 가져오기)  (0) 2024.09.17
        모델링  (0) 2024.09.17
        패키지 설정  (0) 2024.09.17
        디자인 시안 확인  (0) 2024.09.17
        yml 파일 설정하기  (0) 2024.09.17
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바