clang format..

clang에 포함된 유틸리티가 제법있는데, 그 중에서 clang-format, clang-tidy 이라든가 scan build 등등은 아주 유용하게 사용할 수 있다.

clang format은 일종의 code beautifier로 사용할 수 있는데 다른 것들에 비해 비교적 널리 쓰이는 데다가 옵션도 매우 다양해서 여럿이 일을 할 때, 특히나 지저분하게 일을 하는 이들이 포함되어있을 때 요긴하게 쓸 수 있다. 뭐랄까 별 것 아닌 코드를 짜는 데도 지저분함과 멍청함을 골고루 갖춘 이들을 보면 뭐랄까 화가 치미는 것을 참을 수 없다면 적극 권장한다. 일단 지저분함이 덜 해지면 그 멍청함 때문에 받는 스트레스도 한층 줄어드니까. 애초에 프로젝트가 시작될 때 git이나 jenkins에 걸어두면 나중에 정리하는 것보다 나을 수 있다. 적어도 관리하면서 스트레스 받을 일은 없으니까.

옵션도 매우 다양하고 사용하는 사람들이 많다는 것에서 이것이 거의 완벽한 툴처럼 여겨질 수 있을지도 모르지만, 좀 사용해보면 여기에도 한계가 좀 있어서 몇 가지 아쉬움은 그냥 감내해야 한다. 이를테면 어떤 operator 주변으로 space가 달라붙는 것이라거나 braced list의 경우에 원하는 대로 packing을 할 수 없다거나 등등.

그러니까 이렇게 많은 룰을 가지고 있지만 누군가 이런 룰들을 잘 피해서 좀 복잡한 방법으로 어질러 놓은 것을 청소하는 데에는 역시나 한계가 있다.

또 불필요한 comment등을 청소해주는 옵션은 없다. 어쩔 수 없이 regex에 기대야 한다.