LogoLogo
NHN커머스 메인고도몰 운영 도움말
  • 고도몰 튜닝 가이드
    • Intro
    • 이해하기
      • 용어
      • 구조
        • 튜닝 진행 방법
        • 튜닝 가능 범위
        • 고도몰 아키텍쳐(Architecture)
        • 코딩 규칙
        • 네이밍 규칙
    • 준비하기
      • 심화 구조 이해
        • Routing 소개
        • Controller 소개
        • HTTP 소개
        • Database 소개
        • Security 소개
        • Exception 소개
        • Language 소개
      • 오픈 API 사용가이드
        • 인증키 발급 방법 안내
        • 공급사 이용 방법 안내
    • 튜닝하기
      • 소스 코드 튜닝
        • 기본 튜닝 방법
        • 컨트롤러 튜닝 방법
        • 템플릿 튜닝 방법
        • 튜닝 시 유의사항
      • 데이터베이스 튜닝
        • 튜닝 방법
        • 튜닝 시 유의사항
        • 고도몰 테이블 명세서
        • PhpMyAdmin 이용
      • 디버깅 방법
      • 패치 확인 및 대응 방법
    • 튜닝 따라하기
      • 관리자 GNB 색상 변경하기
      • 즐겨찾기 메뉴 바로가기 만들기
      • 관리자 메뉴 추가하기
      • 관리자 메뉴 수정하기
      • 관리자 페이지 추가하기
      • 관리자 페이지 수정하기
      • 사용자 페이지 추가하기
      • 사용자 페이지 수정하기
    • 잘못된 튜닝사례
      • 상속 미준수
      • 메소드 관련
      • 그 외
  • 기타 개발 가이드
    • 로그 사용 가이드
    • [PMA] 내보내기(export) 이용 안내
    • 외부 스크립트 사용 가이드
    • SDK 사용 가이드
    • [DB] 사용 가이드
  • 튜닝가이드 영상 보기
Powered by GitBook
LogoLogo

NHN COMMERCE

  • 공지사항
  • 회사소개

Partners

  • 서비스 제휴문의
  • 셀러어드민
  • 디자인 파트너

Developers

  • 스토어

©NHN COMMERCE Corp. All rights reserved.

On this page
  • 📍 PHP Code Tags
  • 📍Indenting
  • 📍Control Structures
  • 📍Forbidden Functions
  • 📍Function Calls
  • 📍Class Definitions
  • 📍Function Definitions
  • 📍Comments
  • 📍File Formats
  • 📍 Etc

Was this helpful?

  1. 고도몰 튜닝 가이드
  2. 이해하기
  3. 구조

코딩 규칙

고도몰 튜닝 시 사용하는 '코딩'은 아래의 내용을 준수하여 작성해주세요.

📍 PHP Code Tags

  • 반드시 <?php 와 <?= 만을 사용한다.

php 파일을 template 처럼 사용하는 경우, echo 태그는 가급적 <?= 를 사용한다.

Closing Tag

  • PHP 소스 코드만 포함된 경우, ?> 를 생략 한다.

📍Indenting

  • TAB을 사용하지 않으며, 4자리의 SPACE를 사용한다.

  • namespace, php open tag 레벨의 인덴트를 하지 않는다.

📍Control Structures

Alternative syntax

  • Alternative syntax 를 사용하지 않는다.

Curly brackets

  • {, } 사용시 줄바꿈 하지 않는다.

Indenting

  • {, } 내부는 반드시 들여쓰기 한다.

Control Statements

  • Control Keyword와 조건문 사이에는 반드시 1개의 SPACE가 포함되어야 한다.

  • else if 대신 elseif 를 사용한다.

📍Forbidden Functions

  • sizeof 대신 count를 사용한다.

  • delete 대신 unset을 사용한다.

  • print 대신 echo를 사용한다.

  • is_null 대신 if ($var === null); 을 사용한다.

  • create_function 대신 anonymous function을 사용한다.

📍Function Calls

  • 메서드 또는 함수 호출시 ->,(,),; 사이에 SPACE가 포함되면 안된다.

  • 각 Arguments 사이에 SPACE를 삽입한다.

📍Class Definitions

  • 하나의 파일에는 하나의 클래스를 생성해야 한다.

  • { 를 줄바꿈 한다.

  • classloader 에서 클래스 경로를 찾을 수 있도록 namespace 를 정의한다.

Filenames

  • 클래스명과 파일명이 일치해야 한다.

  • classloader에서 클래스를 찾을 수 있도록 namespace 를 sub-directory 로 간주한 위치에 파일을 저장한다.

📍Function Definitions

  • 함수명과 (, ) 사이에 SPACE가 포함되면 안된다.

  • 클래스와 마찬가지로 { 를 줄바꿈 한다.

Arguments

  • 각 Argument 사이에 SPACE를 넣어 가독성을 높인다.

📍Comments

Inline Comment

  • //만 사용한다.

  • #을 사용하지 않는다.

Block Comment

  • 2줄 이상의 inline comment 를 사용하지 않는다.

Document Comments

  • 구현 메소드의 Document Comments 는 {@inheritDoc} 태그를 사용한다.

Task Tags

  • @todo 키워드를 주석에 사용하여 추가 작업에 대한 내용을 기록해 둘 수 있다.

TODO, FIXME, XXX 는 사용하지 않는다.

📍File Formats

  • BOM 이 없는 UTF-8 인코딩을 사용한다.

  • 파일 인코딩을 혼용하지 않는다. (ex: EUC-KR 환경에서 AJAX 처리를 위해 일부 파일을 UTF-8로 저장하는 행위)

  • 줄바꿈 문자는 Unix 타입의 LF 만을 사용한다.

  • 줄끝 공백 제거 처리한다.

  • 파일의 맨 마지막 라인에 빈 공백 라인을 추가한다.

📍 Etc

Operators

  • 모든 연산자 앞, 뒤로 1개의 공백을 삽입한다.

  • Ternary Operator는 중첩 사용하지 않고, 중간 구문을 생략 사용하지 않는다.

  • Error Control Operators(@) 를 사용하지 않는다.

Strings

  • " 대신 ' 를 사용한다.

  • SQL문 과 같이 내부에 ' 가 쓰일 수 있는 경우 " 사용을 허용한다.

Arrays

  • 배열을 여러줄로 정의할 경우 마지막 원소의 끝에 ,를 추가한다.

  • 배열 선언시 가급적 축약형 구문을 사용한다.

Previous고도몰 아키텍쳐(Architecture)Next네이밍 규칙

Last updated 1 year ago

Was this helpful?

파일, 함수, 메소드, 프로퍼티, 클래스, 인터페이스에는 형식의 Document Comments를 작성해야 한다.

를 사용하지 않는다.

phpDocumentor
Heredoc syntax