각종 코딩 권장 사항 및 도구들 > 자유게시판

자유게시판

각종 코딩 권장 사항 및 도구들 정보

각종 코딩 권장 사항 및 도구들

본문

# PHP - PSR

코딩 컨벤션과 몇가지 구조의 인터페이스 규격이 정의되어 있죠.
인터페이스 규격은 많지는 않고 사용할 일은 사실 많지 않지만 프레임워크류에서는 광범위하게 사용하고 있습니다.

주로 보면 좋을건 역시 코딩 컨벤션이죠. https://psr.kkame.net/accepted/psr-12-extended-coding-style-guide

 

 

# PHPDoc

이미 많이 사용하고 있는 `/** ... */` 형태로 사용하는 주석 블럭이죠.

각종 에디터에서도 지원하고 위 링크의 phpDocumentor 등의 도구를 통해 자동으로 API 문서를 만들어줍니다. 유사한 다른 툴도 있고요.

에디터에서 phpdoc 에 파라미터 타입이나 리턴타입 등을 정의해두면 에디터에서 타입 검사를 해주기도 하고요. 이미 오래된 규칙입니다.

PSR에서도 이를 표준화를 진행하고 있기는한데 꽤 오래전에 시작된 건데도 아직 정식 표준안으로 채택되지는 않았습니다.

 

 

# JavaScript

이 역시 광범위하게 사용되는 JS 코딩 컨벤션입니다.

 

 

# CSS

CSS는 딱히 공통된 규칙보다는 제각각이긴한데 보통 들여쓰기는 공백 2개, 하이픈(`-`) 사용 정도가 보편적인 것 같네요.

 

 

# EditorConfig

단순하지만 유용한 규칙들을 가지고 있죠.

들여쓰기 문자와 갯수, 줄끝 공백제거 같은 간단한 규칙을 제공하고 각종 에디터에서도 기본으로 이 룰을 사용하거나 플러그인을 제공하고 있죠.

 

 

# Prettier

CSS, JS, HTML 등의 코드 포맷터입니다.

위에 있는 각종 권장되는 규칙을 기반으로 코드를 포맷해주는 도구입니다.
이것도 여러 에디터에서 플러그인으로 사용할 수 있죠.

 

 

# PHP CS Fixer

PHP는 Prettier로만 사용하기는 조금 부족해서 이걸 사용해도 좋습니다.

규칙을 매우 상세하게 정할 수 있어서 라이믹스의 코딩 컨벤션도 맞추는데 도움이 될 수 있습니다.

PSR 등 내장된 룰셋을 이용할 수도 있고요.

 

경로를 지정하여 대량으로 파일을 자동으로 고칠 수도 있죠. 주로 그렇게 사용하는 툴이고요.

 

 

# PHPStan

PHP 정적 분석도구입니다.

보통 에디터에서도 경고나 오류를 잡아주지만 이런 도구들은 조금 더 상세한 리포트를 보여줍니다.

리포트 레벨을 정할 수 있고 세부 규칙도 커스텀 할 수 있습니다.

 

저는 보통 6 레벨로 사용하는데 타입이 지정되지 않은 파라미터나 리턴타입을 지정하도록 경고하고 체크도 해줍니다.

CLI에서 사용할 수 있지만 이 역시 에디터 플러그인으로 사용할 수도 있습니다.

 

이와 유사한 Psalm 같은 툴도 있습니다.

 

 

# 유의적 버전(Semantic Versioning. semver)

버전명 표기 규칙이 정의되어 있습니다.
아주 광범위하게 이 규칙을 따르고 있죠.

 

 

# Conventional Commits

커멧 메시지를 명확히하고 semver 규격에 맞춰 자동으로 버전 번호를 올려주는 도구도 활용할 수 있습니다.

커밋 메시지 앞에 `fix: 버그 수정`처럼 fix, feat 같은 타입을 지정하는 방식으로 아주 간단한 규칙입니다.

 

아래 툴을 사용하면 커밋 메시지를 추려서 CHANGELOG.md 파일에 커밋 목록을 만들어 줍니다.

 

이것과는 관계 없지만 이모지를 활용한 재밌는 커밋메시지를 작성하는 방법도 있습니다.

재미로 잠시 사용해봤는데 이모지 고르는거 은근히 귀찮네요^^

 

---

 

이것들은 반드시 따라야 할 표준 규칙은 아닙니다.

권장사항 정도로 생각하면 좋고, 표준은 아니지만 많은 프로젝트에서 이런 규칙을 사용하고 있기 때문에 사실 표준, 보편적인 규칙이라서 적용이 어렵지 않다면 이런 규칙을 적용하면 많은 사람들이 알아보고 쉽게 따를 수 있겠습니다.

 

더 있을텐데 일단 기억나는 것만 적어봤습니다.


추천
9

댓글 4개

이 많은 것을 알고 계시다니 대단하십니다~!

저는 그냥 eslint 통해서 airbnb-base 규칙만으로 코딩하고 있네요 ㅠㅠ

MSA 가 활성화 되면서 대부분 퇴색되긴 했죠^^

온프래미스에 모놀로식 개발을 할때는 상당히 중요했었습니다.

요즘은 IDE에서 자동으로 다 맞춰주니 더 신경 안쓰게 되더라구요

전체 195,334 |RSS
자유게시판 내용 검색

회원로그인

진행중 포인트경매

  1. 참여4 회 시작24.04.25 20:23 종료24.05.02 20:23
(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT