찾다
백엔드 개발C#.Net 튜토리얼C 언어로 된 로컬 변수의 이름 지정 규칙은 무엇입니까?

C 언어의 로컬 변수 이름 지정 원칙 : 이름을보고 의미를 알고 변수의 사용과 의미를 명확하게 표현하십시오. 의미있는 영어 단어 나 약어를 사용하여 흐림과 혼란을 피하십시오. 낙타를 따르거나 명명법을 밑줄을 긋고 스타일을 일관성있게 유지하십시오. 루프 카운터 또는 임시 변수가 아닌 한 단일 문자 변수 이름을 피하십시오. 이름 지정을 일관되게 유지하고 마음대로 변경하지 마십시오. 시스템 키워드 나 예약 된 단어를 변수 이름으로 사용하지 마십시오.

C 언어로 된 로컬 변수의 이름 지정 규칙은 무엇입니까?

무뚝뚝하게 말하면, C 언어로 지역 변수의 이름 지정은 기능 내부의 작은 사람들의 이름을 지정하는 방법입니다. 이것은 단순 해 보이지만 숨겨진 미스터리는 가독성, 유지 가능성 및 코드의 성능과 관련이 있습니다 (큰 영향은 없지만 궁극적 인 것을 추구하고 있습니다).

많은 사람들은 당신이 이름을 지을 수 있다고 생각하지만 컴파일러는 어쨌든 그것을 인식 할 수 있습니다. 이 아이디어는 너무 순진합니다! 변수 이름을 모두 a , b , c 또는 var1 , var2 , var3 라는 변수 이름으로 수천 줄의 코드로 함수에 직면하고 있다고 상상해보십시오. 디버깅은 더욱 악몽입니다.

따라서 좋은 로컬 변수 이름 지정은 프로그래머를위한 강제 과정입니다. 변수의 목적과 의미를 명확하게 표현해야합니다.

핵심 원칙 : 이름을보고 의미를 알고 있습니다

이것은 단지 빈 대화가 아닙니다. 좋은 변수 이름은 그것이 무엇인지, 그리고 그것이 한 눈에 무엇인지 이해할 수 있어야합니다. 예를 들어, 원의 영역을 계산하는 기능에서 반경은 radius 으로 사용될 수 있으며 면적은 ra 대신 area 으로 사용할 수 있습니다. ra 그 당시 매우 간결하다고 생각하더라도 며칠 안에 보면서 의미하는 바를 잊을 수 있습니다.

일부 제안은 죽은 규칙이 아니지만 유연한 사용은 가장 좋은 방법입니다.

  • 의미있는 영어 단어 또는 약어 사용 : userNameun 보다 낫고 itemCount ic 보다 낫습니다. 코드의 맥락에서 약어가 이해하기 쉬운 지 확인하고 약어를 위해 축약하지 말고 상황을 악화시키지 마십시오.
  • 낙타 명명법 또는 밑줄 명명법 : Camelcase는 userName 같으며 밑줄은 명명법 (snake_case)은 user_name 과 같습니다. 스타일을 선택하고 그것을 고수하고 프로젝트에서 혼합하지 마십시오. 나는 개인적으로 눈을 기쁘게하는 혹을 선호합니다.
  • 루프 카운터 또는 임시 변수가 아닌 한 단일 레터 변수 이름을 사용하지 마십시오. i , j , k 루프에서 일반적이며 모든 사람이 이해할 수 있습니다. 그러나 다른 장소를 피하십시오.
  • 일관성을 유지하십시오 : userName 사용하는 경우 user_name username 동안 사용하지 마십시오. 일관성을 유지하고 코드를 깔끔하게 보이게하십시오.
  • 시스템 키워드 나 예약 된 단어를 변수 이름으로 사용하지 마십시오. 이는 컴파일 오류가 발생할 수 있습니다.

Code example:

평균 값을 계산하는 함수, 좋은 이름 지정과 나쁜 이름을 비교합니다.

 <code class="c">// Bad naming float avg(float a, float b, float c) { float sum = abc; float av = sum / 3; return av; } // Good naming float calculateAverage(float num1, float num2, float num3) { float sumOfNumbers = num1 num2 num3; float average = sumOfNumbers / 3.0f; // 注意这里加了.0f 保证精度return average; }</code>

차이를 보셨습니까? 두 번째 버전에서는 코드의 가독성이 크게 향상되었습니다.

트래핑 경험 :

프로젝트에 참여하면 변수 이름 지정이 표준화되지 않았으므로 나중에 유지하기가 매우 어렵습니다. 나는 변수의 의미를 명확히하고 버그를 수정하는 데 많은 시간을 보냈습니다. 교훈은 심오합니다! 따라서 처음부터 좋은 이름 지정 습관을 개발하는 것은 투자 가치가 있습니다.

요약 :

C 언어로 지역 변수의 이름 지정은 작은 문제처럼 보이지만 실제로는 큰 관계가 있습니다. 위의 제안을 따르고 좋은 이름 지정 습관을 개발하십시오. 귀하의 코드는 더 명확하고 유지 관리가 쉬울 것이며 많은 우회를 피할 수 있습니다. 이 코드는 사람들이 볼 수 있도록 작성되었으며 두 번째는 기계에 대해 실행됩니다.

위 내용은 C 언어로 된 로컬 변수의 이름 지정 규칙은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
(超详细)VScode中配置C语言环境的方法(超详细)VScode中配置C语言环境的方法Dec 05, 2022 pm 07:05 PM

VScode中怎么配置C语言环境?下面本篇文章给大家介绍一下VScode配置C语言环境的方法(超详细),希望对大家有所帮助!

c语言中node是什么意思c语言中node是什么意思Jul 06, 2022 pm 03:51 PM

在C语言中,node是用于定义链表结点的名称,通常在数据结构中用作结点的类型名,语法为“struct Node{...};”;结构和类在定义出名称以后,直接用该名称就可以定义对象,C语言中还存在“Node * a”和“Node* &a”。

c语言怎么将数字转换成字符串c语言怎么将数字转换成字符串Jan 04, 2023 pm 03:20 PM

c语言将数字转换成字符串的方法:1、ascii码操作,在原数字的基础上加“0x30”,语法“数字+0x30”,会存储数字对应的字符ascii码;2、使用itoa(),可以把整型数转换成字符串,语法“itoa(number1,string,数字);”;3、使用sprintf(),可以能够根据指定的需求,格式化内容,存储至指针指向的字符串。

c语言开根号运算符是什么c语言开根号运算符是什么Mar 06, 2023 pm 02:39 PM

在c语言中,没有开根号运算符,开根号使用的是内置函数“sqrt()”,使用语法“sqrt(数值x)”;例如“sqrt(4)”,就是对4进行平方根运算,结果为2。sqrt()是c语言内置的开根号运算函数,其运算结果是函数变量的算术平方根;该函数既不能运算负数值,也不能输出虚数结果。

c语言数组如何初始化c语言数组如何初始化Jan 04, 2023 pm 03:36 PM

C语言数组初始化的三种方式:1、在定义时直接赋值,语法“数据类型 arrayName[index] = {值};”;2、利用for循环初始化,语法“for (int i=0;i<3;i++) {arr[i] = i;}”;3、使用memset()函数初始化,语法“memset(arr, 0, sizeof(int) * 3)”。

c语言合法标识符的要求是什么c语言合法标识符的要求是什么Aug 27, 2020 pm 01:47 PM

c语言合法标识符的要求是:1、标识符只能由字母(A~Z, a~z)、数字(0~9)和下划线(_)组成;2、第一个字符必须是字母或下划线,不能是数字;3、标识符中的大小写字母是有区别的,代表不同含义;4、标识符不能是关键字。

c语言中源文件编译后生成什么文件c语言中源文件编译后生成什么文件Nov 23, 2022 pm 07:44 PM

c语言编译后生成“.OBJ”的二进制文件(目标文件)。在C语言中,源程序(.c文件)经过编译程序编译之后,会生成一个后缀为“.OBJ”的二进制文件(称为目标文件);最后还要由称为“连接程序”(Link)的软件,把此“.OBJ”文件与c语言提供的各种库函数连接在一起,生成一个后缀“.EXE”的可执行文件。

c语言中*p和p的区别是什么c语言中*p和p的区别是什么Nov 29, 2022 pm 06:03 PM

区别:1、表示的含义不同,“*p”表示此指针指向的内存地址中存放的内容,“p”表示一个指针变量的名字,指此指针变量所指向的内存地址。2、输出的格式不同,“*p”输出的一般是一个和指针类型一致的变量或者常量,“p”输出的是一个16进制数, 输出一个指针的地址。3、功能不同,“*p”是让程序去那个地址取出数据,“p”用于存放的是地址。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.