-
Notifications
You must be signed in to change notification settings - Fork 58
Home
newvgund edited this page Oct 14, 2014
·
2 revisions
이 브렌치는 영카트 5 를 수정 / 확장 하는데 어려움을 개선하기 위해 포킹한 브렌치 입니다. 이 브렌치는 다음을 목표로 작업을 진행 합니다.
- Query 문을 최대한 숨기고, DB 제어를 쉽게 할 수 있도록 래퍼 클래스(wrapper class)를 만들어 제공 합니다.
- View 로직에 포함되어져 있는 Query 문을 모두 래퍼 클래스로 제어할 수 있게 하여, M - V 패턴을 사용할 수 있게 합니다.
- 마스터 브렌치와 머지 작업 시, 충돌이 날 소지가 있는 부분을 최대한 배제 합니다.
해당 브렌치는 아래의 철학 아래에 작업을 진행 합니다.
- 높은 성능보다 이해하기 쉬운 코드를 우선적으로 작업 합니다. 이는 로직의 길이가 불필요하게 늘어난다 하더라도, 이해하기 어려운 코드는 작성하지 않아야 함을 의미 합니다. 다시 말해, 코드에 기교를 부리지 않으며 누구든 쉽게 읽고 해석할 수 있는 코드를 최우선으로 합니다.
- 이를 위해, 이 브렌치에서는 코딩 스타일 중 몇가지 부분을 정의하여 작업을 진행합니다.
- 클래스명은 대문자로 시작하며, 명사여야 합니다.
- '주문내역'을 저장하는 클래스라면, OrderInfo 혹은 Order 등의 클래스 이름을 가져야 합니다.
- 클래스 명을 제외한 모든 변수 및 함수는 소문자로 시작하여야 하며, 그 외에는 큰 제약을 두지 않습니다.
- $MyName 등의 변수는 1번 정의에 의해 클래스 명과 혼동될 소지가 일부 존재 합니다. 따라서 이러한 부분들은 $myName 혹은 $my_name 등으로 바꿔서 변수를 선언, 사용 합니다.
- 코드는 1줄에 1개의 의미만을 표현하며,들여쓰기는 반드시 지킵니다.
- 읽기 쉬운 코드는 보기 쉬운 코드이기도 합니다. 즉, 개인의 자유로운 스타일 보다 다수의 활용에 집중하는 것을 우선으로 합니다. 따라서 코드의 1줄은 1개 이상의 의미를 내포하지 않습니다.
예)
function func() { // function 을 정의하고 스코프를 시작하나, 스코프의 시작과 함수의 정의는 별개의 의미로 분리 합니다. } function func()\t\t// function 이 정의되고,
{ // function 이 시작되고,
} // function 이 종료 됩니다.
if( var == 0 ) // if 문으로 검사 하고,
echo "something..."; // 내용을 수행합니다. 이런 코드는 '기교'로 간주 합니다.
// if 코드 내부가 확장될 소지와 1줄 1의미에 의거,
// if 도 항상 스코프를 정의해서 사용 합니다.
if( var == 0 ) // if 문으로 검사 하고,
{ // if 문이 시작되고,
echo "something..."; // 내용을 수행하고,
} // if 문이 종료 됩니다.