코딩 컨벤션은 이젠 선택이 아닌 필수라고 생각이 됩니다. (PSR)
협업을 하는 사람들은 코드 리뷰만 하더라도 서로 자신들의 규칙이라는 코딩이 난무합니다.
어떤부분은 가독성이 떨어지고 또 어떤 부분은 왜 이렇게 짰나 싶은..
그러다보니 각 언어들도 코드 컨벤션을 선언하고 그에 맞추어 작업을 하고 있습니다.
php도 예외는 아니지요.
다행히 꽤 오래전부터 psr 이라는 코드 컨벤션을 제공하고 있었습니다.
PSR-0, PSR-1, PSR-2, PSR-3 PSR-4 로 정의되어 공유하고 있지요.
적어도 PSR-1 과 PSR-2 만 지켜도 협업에서는 무리 없을 뿐 아니라
홀로 개발하시면서도 코드의 가독성이 증대되고 여러모로 좋습니다.
(혼자 개발하신다고 하더라도 코드 리뷰 안하시진 않으니까요)
관련 자료는 링크로 대체 합니다.
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md
뭐 링크에도 나오긴 합니다만.. intent 이슈가 제일 많죠..
그래서 에디터 마다 붙여넣기하면 코드가 이리갔다 저리갔다.
기본적으로 tab 보다는 space 로 바꿔 사용하고 4칸 들여쓰기를 주로 사용합니다.
(Code MUST use 4 spaces for indenting, not tabs.)
뭐 자신만의 고집과 노하우로 인하여 맞추기 어렵다는 분들께 강요는 사실 어렵습니다만..
코딩 스타일까지 가르치기 보다는 획일화 된 세계적 추세에 맞추는게 방법은 아닐까 조심스럽게 의견 제시 해봅니다.
댓글 7개
https://github.com/tipjs/javascript-style-guide
글 쓰고보니 오역이 있네요
내용중 intent => indent 입니다.
저 같은 경우, 이미 있는 시스템의 스타일 가이드를 보고 시작합니다.
indent 를 2space 로 할지 4space 로 할지 tab 으로 할지도 기존 구축 스타일에 맞춰서 합니다.
그리고, 요즘 나온 프레임워크들은 2space 아니면, 4space 를 쓰더군요.
yml 과 그 파생언어, drupal 은 2space 를 사용합니다.
phalcon 은 4space 를 사용합니다.
codeigniter 은 tab 을 사용합니다.
CI의 Coding Style Guide #whitespace 항목을 참고해보세요.
http://www.codeigniter.com/userguide2/general/styleguide.html#whitespace
Use tabs for whitespace in your code, not spaces. This may seem like a small thing, but ...
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md
PSR-2 오버뷰에 명시 되어 있습니다.
틀렸다기 보다는 각 프레임워크에서 사용하는게 다르다는 의미가 맞겠죠
기본적으로 PSR 에서는 4 space 를 요구 합니다.
게시글 목록
| 번호 | 제목 |
|---|---|
| 8265 | |
| 20403 | |
| 20402 | |
| 20401 | |
| 20400 |
웹서버
서버 동시접속자 설정 변경하기
|
| 8259 | |
| 20399 | |
| 20398 | |
| 8255 | |
| 8249 | |
| 8246 | |
| 8242 | |
| 20396 | |
| 8240 | |
| 20395 | |
| 20394 |
MySQL
테이블 복사 쿼리
|
| 31033 | |
| 28385 | |
| 20393 |
PHP
현재 접속중인 사용자 나타내기
|
| 28380 | |
| 20392 |
MySQL
mysql select 후 update 하기
|
| 28377 | |
| 20391 | |
| 20390 |
PHP
한글문자열 자르는 법 입니다.
|
| 20389 | |
| 20388 | |
| 20387 |
PHP
이메일주소 검사하기 입니다.
|
| 20386 | |
| 20385 | |
| 20384 |
node.js
Node js 게시판 프로젝트 소개합니다.
|
| 20383 |
PHP
pc 모바일 체크
1
|
| 20382 |
PHP
계정 사용량(용량) 확인
|
| 8238 | |
| 20380 | |
| 20379 |
MySQL
소수점 반올림 버림
|
| 28376 | |
| 28372 | |
| 20378 | |
| 20377 |
PHP
에러 로그파일 생성하기
|
| 8235 | |
| 20375 | |
| 20374 | |
| 20373 |
PHP
후이즈검색 하기 입니다.
|
| 20372 |
PHP
그래프 그리기 입니다.
|
| 20371 |
JavaScript
자바스크립트로 구현한 number_format() 입니다.
|
| 20370 |
JavaScript
금액 관련 숫자를 한글로 변환하기 입니다.
|
| 28370 | |
| 20369 |
PHP
PHP 날짜 계산 관련 함수
|
| 28366 | |
| 20368 |
jQuery
jQuery 1.x와 2.x 버전 동시에 사용하기
|
| 20367 | |
| 20366 | |
| 20365 |
JavaScript
사업자 등록번호 검사하기 입니다.
|
| 20364 | |
| 20363 |
JavaScript
항상 같은곳에 광고창 만들기 입니다.
|
| 20362 |
JavaScript
부메뉴 나오게 하기 입니다.
|
| 20361 |
JavaScript
특정문자 제거하기 입니다.
|
| 20360 |
JavaScript
휴대폰번호 검사 하기 입니다.
|
| 20359 |
JavaScript
이미지 좌우로 이동 갤러리 입니다.
|
| 8231 | |
| 20358 | |
| 20357 |
JavaScript
쉬운 replaceAll 입니다.
|
| 20356 | |
| 20355 | |
| 20354 | |
| 20353 | |
| 20352 |
JavaScript
콤보스타일 메뉴 입니다.
|
| 20351 |
JavaScript
쿠키를 이용한 레이어 공지창 입니다.
|
| 20350 |
JavaScript
효과있는 텍스트 틱커 입니다.
|
| 20349 | |
| 20348 |
PHP
HTTP 인증 하기 입니다.
|
| 20347 |
JavaScript
외부 문서 불러오기 입니다.
|
| 20346 |
JavaScript
지정한 날짜까지 New 이미지를 띄워주기 입니다.
|
| 20345 | |
| 20344 |
JavaScript
메일 주소 검사하기 체크박스 입니다.
|
| 20343 |
JavaScript
무단링크 금지하기 입니다.
|
| 20342 | |
| 20341 |
MySQL
DB백업 및 복원
|
| 20340 |
JavaScript
페이지가 다른 사이트의 프레임에 갇히는 것을 막기 입니다.
|
| 20339 | |
| 20338 | |
| 20337 |
jQuery
input text 대문자만 받는 Jquery
|
| 20336 | |
| 20335 |
JavaScript
이미지 업로드와 미리보기 입니다.
|
| 20334 |
JavaScript
배경음악 랜덤 재생 하기 입니다.
|
| 20333 |
JavaScript
css 지원 여부 확인해서 다른 페이지로 이동하기 입니다.
|
| 20332 |
JavaScript
하부메뉴가 보였다가 숨겨졌다 하는 토글버튼 입니다.
|
| 20331 |
JavaScript
개별 페이지에 인덱스로 거쳐 들어오게 하기 입니다.
|
| 20330 |
JavaScript
랜덤으로 이미지 출력 되기 입니다.
|
| 20329 |
JavaScript
사용자 해상도 알아내기 입니다.
|
| 20328 |
JavaScript
붙여넣기 금지하기 입니다.
|
| 20327 |
MySQL
대소문자 데이터 조회하기
|
| 20326 |
JavaScript
퇴장시 팝업창 한번한 띄우기 입니다.
|
| 20325 | |
| 20324 | |
| 20323 |
JavaScript
시도, 구군, 동 주소 select
|
| 20322 |
MySQL
커리로 DB 테이블 명세서 출력하기
|
| 20321 |
JavaScript
브라우저 해상도 구분없는 절대 x,y 좌표 값 구하기 입니다
|
| 20320 |
PHP
rss 읽어오기 입니다.
|
| 20319 |
JavaScript
자바스크립트로 Ajax 효과내기 입니다.
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기