Mustache :{

moon indicating dark mode
sun indicating light mode

tidyall

...

September 12, 2012

Perl 에는 Best Practices 가 있습니다.

cat

Damian Conway (일명 ‘대곤이횽’) 의 Perl Best Practices 가 그것입니다. (저는 아직 안읽어봤습니다)

Perl::Critic은 정적 소스코드 분석기로써 Perl Best Practices 의 정책을 따릅니다.

perltidy 도 있습니다. 작성한 perlcode 를 깔끔하게 정돈해줍니다.

이와 같은 도구를 사용하면 협업팀으로써 일관된 코딩스타일을 유지시켜 줄 수 있을 거라고 생각했습니다.

  • 개인이 스스로 알아서 지킬 수 있겟고,
  • git pre-commit hook 을 활용할 수 도 있겠습니다.

1번은 잘 안되더라고요. 그래서 2번을 시도중입니다.

방법은 이렇습니다.

$ cpanm Code::TidyAll

설치하고 project repo 에 pre-commit hook 을 작성합니다.

#!/usr/bin/env perl
use strict;
use warnings;
use Code::TidyAll::Git::Precommit;
Code::TidyAll::Git::Precommit->check();

project root 에 tidyall.ini 를 작성합니다.

[PerlTidy]
select = **/*.{pl,pm,t}
ignore = lib/*/Schema/Result/*.pm
argv = -noll -it=2
[PerlCritic]
select = lib/**/*.pm
argv = -severity 5

그리고 코드를 작성하고 commit 합니다. 참 쉽죠?

거지 같이 작성했다면 커밋에 실패하고 적절한 메세지가 나타납니다.

커밋전에 스스로 확인해 보려면 $ tidyall -a 하시면 됩니다.

SEE ALSO