2010-08-17 3 views
0

나는 직장에서 토론의 중간에 있습니다. Person이라는 이름의 POCO가 있다고 가정 해보십시오. Person에는 식별자가 있습니다. 나는 캠프에있는 식별자가 Id이어야한다고 말합니다.클래스 식별자의 이름에 대한 ID 대 ClassNameId

class Person 
{ 
    public int Id { get; set; } 
} 

다른 캠프에는 PersonId이라고 지정되어 있습니다.

class Person 
{ 
    public int PersonId { get; set; } 
} 

하나가 다른 것보다 정확합니까?

나는 Id을 사용하는 것이 더 읽기 쉽고 입력하는 코드가 적다 고 생각합니다.

Id에 대한 인수는 누군가가 Person 또는 Address에 속하는지 알 수 없으므로 혼란 스러울 수 있습니다. 변수를 설명 적으로 이름을 지정하면 인수가 넘어 질 것으로 생각합니다.

답변

1

실제 문제는 다음과 같습니다. 참조를 보유하는 변수의 이름 지정 기준은 무엇입니까?

obj.Id   // Not good, better call it PersonId 
teamLead.Id // Okay, quacks like a Person 
person.Id  // Okay, clear but not the greatest var name 

나는 항상 내가 프레임 워크 클래스는 크게 일반 이드 선호 :) 이드 좋아, 좋은 변수 이름없이 실패 선택 .

+0

전적으로 동의합니다. 좋은 변수 이름은 먼 길을 간다. 프레임 워크가 Id를 사용한다고 지적 해 주셔서 감사합니다. 나는 약간의 점검을했고 당신은 절대적으로 맞습니다. 나를 위해 더 큰 탄약! :) – Ecyrb

1

변수에 설명 적으로 이름을 지정하지 않더라도 intellisense는 의심되는 경우 클래스를 제공합니다. "더 정확한"것은 모르겠지만 예측할 수있는 사용 중에 클래스가 명확 해지면 개인적으로 ID를 사용합니다. 사용 중에 클래스가 명확하지 않은 경우 (예 : 데이터베이스의 테이블 또는 XML 파일의 특성), ClassId를 사용합니다. 그것이 내려 오면, 당신이 사용하는 것은 정말로 맛의 문제이며, 어느 옵션이든지 누구라도 지각 할 수 없게 느려지지 않을 것입니다.

0

Id와 PersonId는 기본 드라이브를 포함하고있는 사람의 정신의 무의식적 인 부분을 나타내는 변수에 대한 좋은 이름입니다. 나는 약간 전자를 선호 할 것이다.

클래스는 네임 스페이스 (일반적으로 .NET 고유의 의미는 아닙니다)와 ID가 명확하기 때문에 식별자에 ID (ID가 아님)를 선호합니다. 필자는 (PersonID가 아니라) PersonID에 대해 몹시 화가 났을 것입니다.

+0

MS 디자인 가이드 라인에서는 ID보다는 ID를 사용하는 것이 좋습니다 : * "식별자에 사용할 수있는 두 가지 약어는 ID 및 OK입니다. 파스칼 기반 식별자에서 ID는 'Id'로 나타나야하고 'Ok' camel-cased 식별자의 첫 단어로 사용된다면 각각 id와 ok로 나타나야합니다. * http://msdn.microsoft.com/en-us/library/ms229043.aspx – LukeH

+0

그렇습니다. 나는 여전히 ID를 단어 "id"로, ID를 약어 "ID"로 읽습니다. 아마도 이드에게 아무런 이슈도 없었을 것입니다. 아마도 두 글자에 동일한 변이가 일어날 것입니다. –

관련 문제