기본 콘텐츠로 건너뛰기

사소하고 재미있는 9가지 프로그래밍 관례



지난 달 IT World Korea에 "‘다른 개발자는 어떻게 쓸까?’ 사소하고 재미있는 9가지 프로그래밍 관례"라는 흥미로운 내용의 기사가 실렸었습니다. 제목처럼 개발자들이 개발시 지키는 개발 규칙들에 대한 이야기인데 시간이 좀 지난 기사이지만 기사에 실렸던 9가지 관례와 그 관례를 저는 어떻게 하고 있는지에 대해 써보도록 하겠습니다.


1. 탭보다는 스페이스 : 들여쓰기 할때 스페이스 84%, 탭 16%

저도 스페이스를 사용합니다. 시스템에 따라 탭은 탭 간격이 다를 수 있기 때문입니다. 스페이스 4칸을 탭 하나로 사용하고요.


2. 라인 최대 길이는 80자 : 80자 92%, 120자 6%, 150자 2%

저도 클래식하게 80자를 사용합니다. 80자라는 길이는 초기 모니터의 가로 글자 수가 80자였기 때문에 시작된 관례죠.


3. 빈 괄호는 생략 : 함수 또는 메소드를 정의/호출할 때 빈 괄호 생략 98%, 포함 2%

저는 항상 괄호는 사용합니다.


4. 인수 정의 앞뒤로 스페이스 두지 않기 : 함수 선언에서 인수 앞뒤로 스페이스를 넣지 않는다 94%, 넣는다 6%

전 스페이스가 있는 것이 보기 좋지 않아 스페이스 넣지 않습니다.


5. 처음이 아닌 마지막에 쉼표 : 여러 라인에 걸쳐 일련의 값을 정의할 때 마지막에 쉼표 92%, 처음에 쉼표 8%

역시 마지막. 처음에 있으면 먼가 어색...


6. 스네이크_케이스(snake_case)보다 캐멀케이스(camelCase) 규칙을 선호 : 네이밍 규칙으로 캐멀케이스(camelCase) 87%, 스네이크_케이스(snake_case) 11%, 파스칼케이스(PascalCase) 2%

캐멀케이스


7. 중괄호만으로 구성되는 라인은 없음 : 클래스, 메소드 또는 제어 구조와 같은 코드 블록을 작성할 때 중괄호를 선언문과 같은 라인에 70%, 새로운 라인에 30%

이건 언어와 경우에 따라 다르게 사용하고 있습니다. Java의 경우는 모두 같은 라인에 사용하는데 PHP는 Zend Framework에서 권장하는 방식을 사용하고 있어 클래스/메소드는 다른 라인에, 제어 구조의 경우는 같은 라인에 사용하고 있습니다. 요즘은 PHP도 통일을 할까 생각 중입니다.


8. 큰 따옴표보다는 작은 따옴표 : 문자열을 사용하는 경우 작은 따옴표 57%, 큰 따옴표 43%

이것도 언어에 따라 다르게 사용합니다. Java나 Javascript는 큰 따옴표를 사용하고 PHP는 작은 따옴표를 기본으로 사용합니다. PHP의 경우는 언어 특성에 따른 것인데 PHP는 큰 따옴표로 감싼 문자열은 변수를 값으로 치환하는 파싱을 하기 때문에 불필요한 작업을 없애기 위해 작은 따옴표를 기본으로 사용하고 있습니다.


9. 상수 이름은 모두 대문자로 : 모두 대문자 53%, 모두 대문자는 아님 47%

역시 클래식하게 모두 대문자. 상수는 상수답게?


===


사진 포트폴리오 - City, City People (http://photo.just4fun.kr/)

사진 매거진 앱 - Viewzin (http://viewzin.just4fun.kr/)



이 블로그의 인기 게시물

구글 결제에서 결제 수단 등록 문제

얼마 전 카드를 새로 만들어서 구글 결제의 결제 수단을 교체하려고 하였는데 카드 번호가 잘못되었다라고 하면서 등록이 되지 않았습니다. 관련해서 검색을 해보니 이런 문제가 흔히 발생하고 있더군요. 저처럼 당황하실 분들을 위해 구글 고객센터와 통화해 해결하면서 알아낸 것들을 공유하겠습니다.

넥서스 4 : 레퍼런스 그 이상의 폰

LTE 버전을 기대했는데 3G 폰으로 나와 고민을 하게 한 넥서스4(넥포). 기존에 사용하던 넥서스S(넥스)가 이젠 성능의 한계를 확실하게 보여주고 있어 다음 넥서스폰은 LTE로 나올 것을 기대하면 1년 정도 사용할 생각으로 구입했습니다. 지난 주 월요일에 받아 일주일 정도 사용해본 느낌을 정리해보겠습니다. 넥포의 스펙을 정리해 보면 아래와 같습니다. 4.7인치 화면 1280 x 768 해상도 8백만 화소 후면 카메라, 1.3백만 화소 전면 카메라 3G 모바일 네트워크 (HSPA+ 지원) 무선 충전 SlimPort HDMI 내장 저장공간 8G/16G 2G 메모리 퀄컴 스냅드래곤 S4 프로 (쿼드코어) 폰의 스펙은 LG 옵티머스G를 베이스로 만들어진 폰이라 현재 기준으로 부족한 점이 없습니다. 충분히 빠르고 충분히 여유롭게 안드로이드 4.2를 구동할 수 있는 폰이죠. 스펙에서 흥미로운 것은 무선 충전과 SlimPort HDMI 입니다. 무선충전은 WCP Qi 규격이라 아직 발매가 되지 않은 전용 충전기 이외에도 호환되는 제품으로는 충전이 된다고 하는데 7만원 정도에 호환 제품을 구매할 수 있더군요. SlimPort HDMI는 넥포의 마이크로 USB 포트에 어댑터를 연결해 HDMI 출력을 지원하는 것입니다. 넥스를 사용하다 넥포를 사용하면서 느껴지는 것은 당연히 빠르다입니다. 안드로이드라는 플랫폼이 하드웨어 스펙은 'more and more' 불필요하다할 정도로 높은 것이 좋다라는 것을 다시 체감하는 순간이었습니다. 적어도 체감 성능면에서는 아이폰을 포함해 다른 폰에 밀릴 것이 없는 넥포입니다. 손에 잡히는 느낌은 처음에는 좋은 편이 아닙니다. 4.7인치라 화면이 큰 것도 있지만 뒷면까지 유리로 되어 있어 아이폰4를 처음 잡아보았을 때 느껴지는 손에 착 달라붙지 못하고 미끄러지는 듯한 느낌을 넥포에서도 느낄 수 있었습니다. 그나마 아이폰4와는 달리 테두리가 부드러운 재질이라 그립감에

크롬북에서 리눅스 앱 사용 후기

새로 구입한 픽셀 슬레이트에서 리눅스 앱을 실행시켜본 후 작성한 후기입니다. 현재 크롬북에서 리눅스 앱을 실행시키는 기능은 베타이니 이점을 고려하시고 보시면 좋을 것 같습니다.