문제

매우 간단한 질문 : 지속 가능한 객체가있을 때 일반적으로 ID (추상 클래스 용)라는 속성이 있습니다.

그렇다면 .. 명명 컨벤션 ID 또는 ID입니까?

예를 들어.

public int ID { get; set; }

또는

public int Id { get; set; }

건배 :)

추신. 이것은 .NET BTW를위한 것입니다. FXCOP CONFORMAT는 보너스입니다.

도움이 되었습니까?

해결책

나는 보통 함께 간다 식별자. 예를 들어 더 긴 식별자의 일부로 짧게 유지하려면 매개 변수 나 개인 멤버가 아닌 한 ID를 사용합니다.

그만큼 .NET 프레임 워크 명명 지침 이걸 말해보세요:

약어는 용어 나 구의 단어 문자에서 형성되는 단어입니다. 예를 들어, HTML은 하이퍼 텍스트 마크 업 언어의 약어입니다. 식별자에 널리 알려져 있고 잘 이해 된 경우에만 약어를 포함해야합니다. 약어는 약어가 단일 단어를 단축 시킨다는 점에서 약어와 다릅니다. 예를 들어 ID는 식별자의 약어입니다. 일반적으로 라이브러리 이름은 약어를 사용해서는 안됩니다.

식별자에 사용할 수있는 두 가지 약어는 ID와 OK입니다. Pascal-Cased 식별자에서는 ID로 표시되어야합니다. 낙타가 정한 식별자에서 첫 번째 단어로 사용되면 각각 ID와 OK로 나타납니다.

다른 팁

당신이 좋아하는 것이 무엇이든 일관되게하십시오. ID는 단어가 아니며 정체성의 약어입니다. 약어를 쓰는 방법은 사람들이 오랫동안 논쟁하는 것입니다. 예를 들어입니다

getResourceURL

또는

getResourceUrl

실제로 둘 다 다른 프레임 워크에서 사용할 수 있습니다. 또 다른 인기있는 ABBR. 비슷한 문제는 UTF8입니다.

모든 방법이 다른 방식으로 처리하는 경우 사람들은 항상 모든 방법에 대해 올바른 대문자를 찾아야하기 때문에 일관성을 유지하는 것이 중요합니다.

나는 그것에 대한 내 컨벤션이 있습니다. ABBR. 이름의 끝에 있으며, 다른 곳이라면 낙타 표기법 규칙을 따릅니다. 예를 들어

getResourceURL
urlOfResource
compareUrlToString

왜요? 나는 abbr을 좋아한다. 대문자. 대부분의 사람들은 URL 또는 UTF가 자본화 될 것으로 기대합니다. 그러나 이름의 한가운데서 낙타 표기법의 이점을 파괴합니다. 낙타 표기법의 장점은 새로운 단어가 대문자로 시작되는 위치를 보는 것입니다. 따라서 비교 :

compareURLToString
compareUrlToString

첫 번째 경우, 나는 즉시 URL이 하나의 단어이며 다음 단어입니다. t는 URL (urlt)의 일부일 수 있으며 다른 ABBR 일 수 있으므로 두 번째 양식을 사용하겠습니다. 그러나 그것이 끝났다면, 그것은 역할을하지 않으며 다른 단어가 따르지 않으므로 자본화 된 형태를 선호합니다. 나는 모든 코드 전체 에서이 컨벤션을 고수합니다.

가이드 라인은 "ID"라고 말합니다.

다행히도 .net 녀석들은 우리에게 "이름 지침"이 아니라 "이름 지침"이 아니라 "이름 지침"을 줄만큼 친절했습니다.) 기본적으로 가이드 라인 규칙을 어기는 것보다 더 많은 가치가 추가된다고 강하게 느끼면 모든 방법으로 깨달았습니다. , 아무도 당신의 이유를 이해하면 아무도 당신에게 그것을 책임지게하지 않을 것입니다 (더 많은 가독성을 제공하고 이름의 의미를 강조하는 것처럼).

내 가게에서 우리는 가이드 라인이 'ID'라고 말해도 'ID'를 사용하지만 아무도 죄책감을 느끼지 않습니다.

다른 사람들이 지적했듯이, ID는 .NET 규칙에 따라 옳지 만 어쨌든 옳지 않기 때문에 많은 사람들이 ID를 사용하고 여전히 살고 있습니다.

나는 당신의 분야의 내용이 무엇인지 모르지만 (숫자, 문자열, 안내서), 문제를 건너 뛰려면 객체 식별자에 대해 다른 .NET 규칙을 사용할 수 있습니다. 이름

ID는 심리학이 말하는 것처럼 보이기 때문에 ID를 내부적으로 사용하지만 ID는 약어가 아니기 때문에 약어 (신원/식별자)로 불만을 제기합니다. FXCOP 규칙에 따르면, 두 문자 인 약어만이 모든 캡 일 수 있습니다. 다른 모든 것은 적절한 경우 여야합니다.

우리는 ID 속성에 suppressmessage 속성을 넣고 모두가 행복합니다.

"ID"는 FXCOP 이름 지정 규칙으로 하드 코딩 된 약어 중 하나이며, 다른 단어의 일부인 경우에도 항상 잘못된 철자로 간주됩니다. 내가 그것을 무시하는 유일한 방법은 약어에 "id"를 추가하는 것입니다.

<Dictionary>
<Acronyms>
   <CasingExceptions>
        <Acronym>ID</Acronym>
  </CasingExceptions>
</Acronyms>
</Dictionary>

FXCOP 1.36과 함께 일했습니다. 추신 : 일반적으로 "ID"는 더 나은 대안이라고 생각하지만 때로는 제어하지 않는 XML 파일 (또는 웹 서비스)을 기반으로 생성되면 이름을 변경하는 것이 불가능합니다.

나는 또한 다른 단어 (예 : CustomerID)와 함께 ID를 선호하지만 규칙적인 이름 지정 규칙에 반대합니다.

우리는 여기에서 "ID"또는 기타 약어와 같은 것을 단어로보고 있으며 "ID"는 쉬운 일입니다. 은행 업무에서 우리는 이상한 문자 조합을 많이 얻기 때문입니다. 그래서 우리는 첫 번째 문자가 자본화 된 상태에서만 단어로 취급하며, 이것이 우리가 내부 코딩 규칙 논문에서 정의되는 방식입니다.

그러나 결론은 다음과 같습니다. 개발자 팀과 소스 코드를보고이를 고수하는 다른 사람들에게 더 편안한 컨벤션을 선택하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top