Casing Styles

  • 아래의 표기 형식을 사용하며, 식별자별로 구분하여 사용한다.
Style Description
lowercase 모든 단어를 띄어쓰기 하지 않은 소문자로 표기한다.
lower_case_with_underscores 모든 단어를 소문자로 표기하고, 단어와 단어는 _ 를 삽입하여 구분한다.
UPPERCASE 모든 단어를 띄어쓰기 하지 않은 대문자로 표기한다.
UPPER_CASE_WITH_UNDERSCORES 모든 단어를 대문자로 표기하고, 단어와 단어는 _ 를 삽입하여 구분한다.
lowerCamelCase 첫글자 를 소문자로 표기하고, 나머지 단어의 첫글자는 대문자로 표기한다.
UpperCamelCase 첫글자 를 대문자로 표기하고, 나머지 단어의 첫글자는 대문자로 표기한다.
Capitalized_Words_With_Underscores 각 단어의 첫글자를 대문자로 표기하고, 단어와 단어는 _ 를 삽입하여 구분한다.

Style for Identifiers

  • 추가적인 세부규칙은 각 항목에서 다루며, 기본 규칙은 아래와 같다.
Idenfidier Style Example
Variable lowerCamelCase
lowercase
$fooBar
$i
Class UpperCamelCase FooBar
Namespace UpperCamelCase FooBar
Property lowerCamelCase $fooBar
Method lowerCamelCase fooBar
Constant UPPER_CASE_WITH_UNDERSCORES FOO_BAR
Internal Function lowercase mysql_query
Database lower_case_with_underscores
UPPER_CASE_WITH_UNDERSCORES
gd_goods
USP_GET_GD_GOODS_LIST
Column lower_case_with_underscores goods_name

PHP

  • 클래스 파일의 작명은 여기를 참고한다.

Resources

Image
  • lower_case_with_underscores 를 사용하되, 구분자는 _ 대신 . 을 사용해도 된다.
Cascading Style Sheet
  • lower_case_with_underscores 를 사용하되, 구분자는 _ 대신 . 을 사용해도 된다.
Java Script
  • lower_case_with_underscores 를 사용하되, 구분자는 _ 대신 . 을 사용해도 된다.

Word Choice

  • 의미가 전달 될 수 있도록, 쉽고 간단한 단어를 사용하여 작명한다.
  • 흔히 쓰이는 용어(ex: email, XML, file, error 등)를 사용할 경우, 반드시 1개 이상의 수식어를 함께 사용한다.
  • 헝가리안 표기를 사용하지 않는다.
  • Control Structures 에 i, j, k, v 등의 네이밍을 사용하는 것은 복잡한 중첩 구조가 아닌 경우에는 허용된다.

Abbreviations

  • 약속된 약어 외에는 단어를 모두 풀어쓰도록 한다.
    getMemberInformation
    openPopupWindow
    register_date
    getMbInfo
    openPopWin
    regdt
  • UpperCamelCase 형태로 표기한다.
  • Interface 는 접미사로 Interface 를 붙인다.
  • Trait 는 접미사로 Trait 를 붙인다.
  • Abstract 클래스는 접두사로 Abstract 를 붙인다.
  • Exception 클래스는 접두사로 Exception 을 붙인다.
  • lowerCamelCase 형태로 표기한다.
  • 동사로 시작한다.
  • Visibility를 반드시 지정한다.
  • private method일 경우에만 _ 로 시작한다.
<?php
class SomeClass
{
    public function getResultSet()
    {}

    protected function getResult()
    {}

    private function _getResultSet()
    {}
}
<?php
class SomeClass
{
    public function get_ResultSet()
    {}

    protected function _getResult()
    {}

    private function getResultSet()
    {}
}
  • lowerCamelCase 형태로 표기한다.
  • 명사로 시작한다.
  • Visibility를 반드시 지정한다.
  • private method일 경우에만 _ 로 시작한다.
<?php
class SomeClass
{
    private $_data;
    public $resultSet;
}
<?php
class SomeClass
{
    private $data;
    public $result_set;
}
  • UPPER_CASE_WITH_UNDERSCORES 형태로 표기한다.
  • true, false, null 은 소문자를 유지한다.
<?php
class SomeClass {
    const SOME_CONSTANT;
}
<?php
class SomeClass {
    const someconstant;
}
  • 내장 함수는 모두 소문자로 표기한다.

Table Name Prefix

  • 프로젝트별 구분을 위해 Table Name Prefix 를 사용할 수 있다.
  • 이나무의 Table Name Prefix 는 gd 이다.

Tables

  • lower_case_with_underscores 형태로 표기한다.
  • DBMS 내장 키워드명, 함수명을 사용하지 않는다.
  • 의미 없는 단어나, 약속되지 않은 약어를 사용하지 않는다.

Columns

  • lower_case_with_underscores 형태로 표기한다.
  • DBMS 내장 키워드명, 함수명을 사용하지 않는다.
  • 테이블명의 약칭(table name prefix 를 제외한 각 단어의 첫글자)을 column name prefix 로 사용한다.
    gd_enamoo_test_table.ett_id
    gd_enamoo_test_table.ett_name
    gd_enamoo_test_table.ett_register_date
    gd_enamoo_test_table.id
    gd_enamoo_test_table.name
    gd_enamoo_test_table.register_date
  • 의미 없는 단어나, 약속되지 않은 약어를 사용하지 않는다.
    delivery_no
    confirm_yn
    delivery_yn
    dno
    cyn
    dyn

Indexes

  • lower_case_with_underscores 형태로 표기한다.
  • 인덱스에 포함된 모든 컬럼명을 모두 입력한다.
  • 인덱스 형태별로 아래의 prefix 를 사용한다.
    Unique
    uidx
    Index
    idx

Triggers

  • 사용금지

Stored Procedures

  • 사용금지

User Defined Functions

  • 사용금지

Viewes

  • 사용금지