6

Resharper가 그 자체로 주장 할 때, 어떤 인물이 더 많은 신빙성을 부여하는지 어떻게 알 수 있습니까?이러한 인수를 추가하거나 제거해야합니까?

Resharper를 혼동시키는 코드를 발견했다고 생각합니다. (이것은 매우 드문 경우입니다. 하루 동안 사용하면 Resharper는 액화 된 빵 등으로부터 벌의 무릎/위대한 것입니다.)

ICryptoTransform Encryptor = RijndaelCipher.CreateEncryptor(SecretKey.GetBytes(32), SecretKey.GetBytes(16)); 

ReSharper에서이 에 나에게 말한다 " 'rgbIV'인수 이름을 추가"그래서

그을 " 'rgbkey'를 인수 이름을 추가"다음 : 코드 행으로

라인은 다음이다 : 다시 ReSharper에서 실행하면

ICryptoTransform Encryptor = RijndaelCipher.CreateEncryptor(rgbKey: SecretKey.GetBytes(32), rgbIV: SecretKey.GetBytes(16)); 

는하지만, 그것은 말한다

"중복 인수 이름 지정"- "인수 이름 지정 제거"(rgbkey) (및 rgbIV).

그것은

+2

Resharper는 실제로 어느 쪽이든 다른 쪽보다 낫다는 말을하지 않고, 필요한 경우 도움을 줄 수있는 "전구 동작"을 제공합니다. – vcsjones

답변

6

명시 매개 변수 이름은 필수 매개 변수에 대한 선택 사항입니다 ... 어느 쪽이든, 그래도 잘 작동 것 같다, 그래서 모두 형태가 "올바른"질문은 당신이 더 좋아합니까입니까? vcsjones가 말했듯이, Resharper는 사용자에게 선호하는 리팩터링 옵션을 제공합니다.

+1

그렇다면, 나는 그들이 단지 충분히 잘 떠날 것이라고 생각할 것입니다. 길에서 포크를 타고 여행자가 거의 똑같이 여행하지 않는다면 다른 사람이 "이봐,이게 팀북투 길인 줄 알지 못해?" (로버트 프로스트 (Robert Frost)와 요기 (Yogi)에게 사과하십시오. "길에서 포크를 발견한다면 Berra. –

6

ReSharper에서이 사실

에 알려줍니다, 그렇지 않습니다. R #이 사용자에게 전달하는 두 가지 범주 (크게)는 사용자 이어야하고 사용자는 이 수행해야하는 사항은이 더 빨리 수행 될 수 있도록하려는 것입니다.

최초의 예 :

var i = 4; 
i = 5; 
DoSomething(i); 

농산물 것 4의 할당 빠른 수정 프로그램을 제공하고, 왼쪽 여백에 전구 아이콘와 검사, "할당이 사용되지 않습니다" 조치 (과제를 제거함).

두 번째의 예 :

if ((new Random()).Next() > 5) 
{ 
    DoSomething(); 
} 
else 
{ 
    DoSomethingElse(); 
} 

위치 지정 if에 커서가 if를 반전하는 상황에 맞는 행동를 제공하고, 왼쪽 여백에 연필 아이콘를 생성합니다. 이되어야한다고 말하는 것은 아닙니다. "이봐, 이걸하고 싶다면 그냥이 메뉴 항목을 선택하면 해줄거야."라고 말하는 것입니다.

인수 이름을 추가하는 것은 두 번째 범주 인 컨텍스트 작업에 있습니다. 제공하지 않으려면 ReSharper | Options | Code Editing | C# | Context Actions에서 사용 중지 할 수 있습니다.코드 검사의 경우 팝업 메뉴 자체에서 검사 심각도를 변경할 수 있습니다. 또는 ReSharper | Options | Code Isnpection | Inspection Severity에서 모두 볼 수 있습니다.

개인적으로 내가 사용한 적이없는 컨텍스트 작업이 있습니다 (예 : "16 진수로 변환")하지만 다른 것들은 내가 ?:if 사이에서 전환하는 다양한 조합과 반전, 예)

관련 문제