프로그래머의 길 - 코드 스타일 (회전)

4174 단어 잡담
훌륭한 코드 스타일은 몸에 꼭 맞는 차림새처럼 좋은 인상을 준다.프로그램 설계를 처음 배울 때 먼저 좋은 프로그래밍 습관을 세워야 하는데 그 중에서 코드 스타일을 포함한다.본고는 코드 스타일 중의 몇 가지 중점 문제에 대해 토론을 하고 문장 뒤에 우수한 코드를 스타일 템플릿으로 제시했다.코드 스타일은 너무 많은 전문적인 시간을 들여 연구할 필요가 없다. 사용 과정에서 템플릿 코드를 끊임없이 모방하면 가볍게'전문적인 코드'를 쓸 수 있다.
1, 80 문자, 코드 행 한계
시공이 어떻게 변하든 세계가 어떻게 변하든 한 줄의 80 문자는 항상 마음속에 새겨야 한다.오래된 Unix 단말기는 80열의 형식으로 텍스트를 표시하는데, 원본 코드와 매뉴얼이 가장 읽기 쉽도록 하기 위해 Unix 시스템은 시종 80열의 전통을 고수하고 있다.80열은 많지도 적지도 않고 의미 있는 코드를 한 줄 쓰기에 충분하며 단말기 화면에도 충분하여 A4용지에 인쇄하기에 충분하다.지금까지 우리의 화면 해상도는 이미 충분하게 높아서 한 줄에 표시할 수 있는 내용이 80글자를 훨씬 넘지만, 우리의 우수한 전통은 이미 형성되었다. 거의 모든 Unix/Linux 내부 원본 코드와 온라인 사용자 매뉴얼은 80열의 한계를 엄격히 준수하고 있다.만약 당신이 윈도 플랫폼 아래의 Dev C++를 사용하고 있다면, 코드 편집 상자 안의 가는 회색 세로줄을 알아차렸습니까?좋아, 그것이 바로 코드 줄의 한계야.HTML, XML 등 지루하고 번잡한 표기식 언어를 제외하고는 거의 모든 언어가 코드 줄의 한계를 엄격히 준수해야 한다. 이것은 C, C++, 자바, C#, Python, PHP 등을 포함한다.그러나 때때로 PHP가 HTML와 접촉할 때 이 제한은 잠시 늦출 수 있다.너무 긴 코드 줄은 항상 좋지 않으며, 좋은 코드는 항상 날씬한 몸매를 유지해야 한다.
2. 탭인지 스페이스인지 의견이 분분한 축진 방식
코드는 축진을 떠날 수 없다. 축진에 대해 두 가지 논쟁이 있는데, 하나는 빈칸 (Space) 을 사용해야 하는지, 아니면 탭 (Tab) 을 사용해야 하는지, 다른 하나는 4칸을 사용해야 하는지, 8칸을 사용해야 하는지, 심지어는 그렇지 않다.
먼저 스페이스와 탭에 대한 질문을 드리겠습니다.스페이스를 꾸준히 사용하는 프로그래머는 만약 당신이 Tab을 사용하지 않는다면, 당신의 코드는 모든 곳에 놓아도 똑같다는 것을 알려줄 것이다.맞아요. 스페이스로 축소된 장점인데 안타깝게도 유일한 장점이에요.코드의 차원이 많을수록 내부 코드의 맨 앞에 있는 축진이 많아진다. 이것은 네가 빈칸을 많이 쳐야 한다는 것을 의미한다.설령 네가 스페이스 바를 망가질 때까지 싫증내지 않고 눌러도 IDE가 항상 똑똑히Tab 문자를 삽입하는 행동에 괴로워할 것이다.거의 모든 코드 (C 코드 뿐만 아니라) 가 Tab 들여쓰기를 사용하기 때문에 항상 Tab 들여쓰기를 사용하는 것을 권장합니다.
탭이 4칸이야, 8칸이야?Tab 들여쓰기가 누군가의 비난을 받는 이유입니다.당신이 프로그램을 쓸 때 사용하는 탭 크기가 다른 사람이 프로그램을 읽을 때 사용하는 탭 크기와 같지 않으면 아무리 예쁜 레이아웃도 뒤죽박죽이 될 수 있다.표준 탭은 8칸이지만 불행하게도 거의 모든 윈도 플랫폼 아래의 IDE는 Visual Studio, Dev C++, 심지어 플랫폼을 뛰어넘는 Eclipse 등을 포함하여 기본적으로 4칸의 탭을 사용한다.내가 사용하는FreeBSD 시스템의 모든 핵 원본 코드는 8칸 축소를 사용하기 때문에 나는 줄곧 8칸 축소를 사용해 왔다.아마도 너는 너무 큰 간격에 익숙하지 않을 것이다. 만약 Unix 플랫폼 아래나 C 언어가 아니라면 4칸 탭을 사용해라.Unix에서 C 코드를 작성하는 경우 표준 탭 8칸을 사용하는 것이 좋습니다.
3. 절행 원칙, 소홀히 하기 쉬운 구석
코드 줄의 한계가 있는 이상 우리는 완전한 코드 줄을 끊어야 하는 경우가 많다. 이것은 문제를 가져왔다. 줄을 접은 후에 어떻게 줄여야 하는가?좋은 방법은 첫 번째 줄을 접은 후 원래 축소된 것을 토대로 1/2의 탭 크기의 빈칸을 늘리고 그 다음 줄을 모두 두 번째 줄에 맞추는 것이다.이런 문자의 묘사가 너무 난해할 수도 있으니 예를 들자(8칸 축소를 예로 들자).
if (value > a && value > b && value > c && value < d && value < e && value < f
    value < h && value < h) { /* */
value = value + 1;
  value = value * value * value * value * value * value * value * value
     * value * value + value * value * value * value * value * value
     * value * value; /* */
}

분명히 이 단락의 코드는 아무런 실제적인 용도가 없고, 단지 줄의 축소를 설명하기 위해 만들어진 것이다.
4. 어디에나 빈 칸, 어디에나 빈 줄
공백이 필요한 위치는 1)if,while,switch 등 키워드와 그 다음의 왼쪽 괄호(사이.2) 왼쪽 괄호(앞.3) 쌍안 연산자 양측, 예를 들어 p==NULL.4) 쉼표와 분호, 그 다음, 예를 들어 for(i=0;i <10;i++)이다.
빈칸을 비우지 않는 위치는 다음과 같습니다: 1) 함수 이름과 그 다음의 왼쪽 괄호 (매개 변수가 있는 매크로와 그 다음의 왼쪽 괄호 (예를 들어 max (a, b) 를 포함합니다.2) 세미콜론사칭3) 왼쪽 괄호(오른쪽, 오른쪽 괄호) 왼쪽(예: if(p==NULL)
빈 줄이 필요한 위치는 다음과 같다. 1) 함수의 정의 전, 함수의 정의 후 2) 긴밀하게 연결된 코드 세그먼트 전과 후
이러한 규칙은 완전하지 않습니다. 위에서 열거하지 않은 상황에 부딪혔을 때 본고에서 제공한 템플릿 코드를 참고하십시오.
5. 왼쪽 괄호의 논쟁--줄을 바꿀까?바꾸지 않겠는가? 
이것은 또 어진 사람이 어진 사람을 보고 지혜로운 사람이 지혜로운 문제를 보는 것이다.코드 세그먼트의 시작 부분인 왼쪽 중괄호 {다른 행으로 묶어야 합니다.
if (p == NULL)
{
printf("error!/n");
exit(0);
}

그러나 이러한 구성은 매우 빈틈없어 보이기 때문에 대부분의 C 코드는 (적어도 Unix에서는 이와 같음) 다음과 같은 방식으로 사용됩니다.
if (p == NULL) {
printf("error!/n");
exit(0);
}

나의 건의는 후자를 채택하는 것이다. 이것은 너의 코드를 더욱 치밀하고 전문적으로 보일 것이다.함수를 정의할 때 항상 왼쪽 중괄호 {줄 바꾸기:
static int
maxint(int a, int b)
{
return a > b ? a : b;
}

6. 미관을 견지하고 유연하게 대처한다
코드 스타일은 위에서 언급한 다섯 가지에 그치지 않는다. 사실상 많은 회사들이 규정한 코드 스타일을 가지고 있는데 명명 규칙, 축소 규칙 등을 포함한다.만약에 개발팀에서 항상 팀의 기준을 위주로 해야 한다. 만약에 C언어를 배우고 자신의 코드 스타일을 형성하려고 한다면 나는 여기서 가장 전문적인 원본 코드를 참고할 것이다.어떤 질문이든 이 코드에서 반드시 답을 찾을 수 있습니다: Code Style (주의해서 볼 때 Tab을 8칸으로 설정합니다.)이 코드는 우수한FreeBSD 운영체제의 원본 코드(버전 6.2)에서 나온 것이기 때문에 그 권위성을 의심하지 않을 것이다.더 많은 내용은 FreeBSD 커널 코드 작성 규범을 참고하십시오. 이 영문 문서를 다 읽으려면 인내심이 필요할 수도 있습니다.

좋은 웹페이지 즐겨찾기