이미지 작성된 문서를 rhymix 코딩규칙에 맞게 정렬 해줄 수 있는 방법이 있을까요?
에디터 플러스나 노트패드를 이용했는데, 다른 코딩 툴을 이용한 방법도 상관없습니다.
PHP | PHP 7.4 |
---|---|
CMS | Rhymix 2.1 |
이미지 작성된 문서를 rhymix 코딩규칙에 맞게 정렬 해줄 수 있는 방법이 있을까요?
에디터 플러스나 노트패드를 이용했는데, 다른 코딩 툴을 이용한 방법도 상관없습니다.
사용하시는 에디터에 editorconfig 확장 기능이 있다면, 라이믹스 루트 폴더에 있는 .editorconfig 파일을 자동으로 인식해서 라이믹스 코딩 규칙에 맞게 들여쓰기나 줄바꿈 문자 등을 조정해 줄 수 있습니다. 만약 모듈이나 레이아웃 등 각각의 자료 단위로 프로젝트를 관리하신다면 각 프로젝트의 루트 폴더에 .editorconfig를 복사해서 넣으셔도 되고요.
그러나 중괄호를 어디에 둘지, if 다음에 띄어쓸지 말지, 이런 부분까지 맞춰주지는 않아요. 널리 알려진 PSR-12 표준에 맞춰서 강제 조정해 주는 도구는 있을 것 같지만, 라이믹스 코딩 규칙이 항상 PSR-12를 따르는 것은 아니기에...
https://cs.symfony.com
PHP 코드는 이걸 이용하면 세부적으로 설정할 수 있어요.
설정이 다양해서 아마 거의 모든 규격을 맞출 수는 있을 거예요.
vscode 확장도 있네요. junstyle.php-cs-fixer
@PSR12 기본으로 해두고 나머지 커스텀 하면 되지 않을까 싶네요.
중괄호는 https://cs.symfony.com/doc/rules/basic/braces_position.html
근데 어차피 라이믹스도 언젠가는?? PSR-12에 맞추게 되지 않을까요?
저는 코드포맷 단축키를 습관적으로 누르는데 라이믹스 파일만 열면 코드가 다 바뀌어 버려서 ㅎㅎ
.editorconfig 규칙에 따라 탭 문자는 유지되는데 중괄호 개행은...
html js css는 prettier 사용하면 충분할 것같네요.
php는 prettier에서는 설정이 많지 않아서 저거 써야할거고요.
오래된 코드가 많은 라이믹스의 특성상, 코딩 스타일을 일괄 변경하게 될 가능성은 낮습니다. 특히 보안취약점의 원인을 찾거나, 특이한 동작을 과거에 일부러 집어넣어 놓은 이유를 파악하려는 경우, 기능과 관련없는 대규모의 diff가 중간에 끼어 있으면 git blame과 같은 도구를 사용하는 데 방해가 되기 때문입니다. PSR-12는 고사하고, 지금의 코딩 스타일과 맞지 않는 오래된 코드도 사방에 널려 있지만 굳이 건드리지 않고 있습니다. 중괄호 하나쯤 아랫줄에 붙어 있다고 가독성을 크게 해치는 것도 아니고요.
나무위키에서는 라이믹스가 fork 후 저장소를 새로 시작하지 않고 XE의 히스토리를 그대로 가져온 것에 대해 상당히 길게 서술해 놓았던데, 사실 그 히스토리가 굉장히 중요합니다. 정통성(?)뿐 아니라 일상적으로 유지보수하는 입장에서도요. 만약 일괄적으로 갈아엎는다면 두고두고 "그 분서갱유 사건 ㅂㄷㅂㄷ" 이런 말이 나올 것 같아요. ㅎㅎ
라이믹스 코딩 규칙에서도 취향에 가까운 스타일의 문제보다는 함수의 가시성, 타입 선언, 타입 변환 등 실제 작동 방식에 영향을 줄 수 있는 문제, 유지보수를 위한 적절한 주석 사용, 원활한 협업을 위한 적절한 커밋 메시지의 형식 등을 더 중요시하고 있습니다.
어디선가 라이믹스도 PSR-12로 가야하지 않겠나~라는 내용을 적으신걸 본것같아서 언급한 내용입니다. 메이저 마이너 올라갈 때 바꾸려나~ 언젠가 바뀔 수도 있겠구나~ 싶은 기억으로 남았는데...
가볍게 언급하신 내용이거나 제가 잘못 기억하고 있을 수도 있고요 ㅎㅎ
코딩 규칙과 PSR-12가 서로 다른 부분을 PSR-12 쪽으로 정리하는 것은 충분히 가능성이 있는 일입니다. 단, 그렇게 하더라도 새로 작성하는 코드에만 적용되고, 기존 코드를 일괄 변환하기는 어렵다는 뜻입니다.
지금도 코딩 규칙과 PSR-12에 어긋나는 부분은 중괄호 위치, if와 괄호 사이의 공백, 탭/스페이스 등 취향의 영역이 대부분이라, 서로 맞추는 것이 시급하지도 않고, 맞지 않는 것이 딱히 잘못되었다고 생각하지도 않습니다.
라이믹스에서 코딩 규칙이라고 내놓는 것은 무조건 PHP코드 HTML코드 Javascript코드와 같이 프로그래밍에 해당되는 부분에 대해 작성 규칙을 규정한것인데.. 보통 문서는 그 규칙을 정해두지 않고 있거든요.