6

Khi Resharper tranh luận với chính nó, làm thế nào để biết được một cá nhân nào có thêm sự tin cậy? Tôi nghĩ rằng tôi đã tìm thấy một số mã gây nhầm lẫn Resharper (đây rõ ràng là một trường hợp rất bất thường - sau khi sử dụng nó trong một ngày, tôi nghĩ Resharper là đầu gối của ong/điều tuyệt vời nhất kể từ bánh mì được làm lạnh, v.v.).Các đối số này có nên được thêm hoặc xóa không?

Với dòng mã này:

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

Resharper nói với tôi để "thêm tên tham số 'rgbkey" và sau đó "thêm tên tham số' rgbIV"

Vì vậy mà các dòng là:

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

Khi tôi chạy lại chia sẻ lại, mặc dù, nó nói,

"Đặc tả tên đối số thừa" - "Xóa đặc tả tên đối số" (rgbkey) (và sau đó là rgbIV).

Có vẻ như một trong hai cách hoạt động tốt, mặc dù ...

+2

Resharper thực sự không nói với bạn rằng một trong hai cách là tốt hơn so với khác, nó chỉ là cho bạn một "Hành động bóng đèn" để giúp bạn với một cái gì đó, bạn cần nó. – vcsjones

Trả lời

6

Explicit tham số đặt tên là tùy chọn trên các thông số bắt buộc, vì vậy cả hai hình thức là "đúng", câu hỏi được mà Bạn thích tốt hơn? Giống như vcsjones nói, Resharper chỉ cho bạn một số tùy chọn tái cấu trúc cho phù hợp với sở thích của bạn.

+1

Đó là trường hợp, tôi nghĩ rằng họ sẽ chỉ để lại đủ tốt một mình. Nếu ở một ngã ba trên đường, một người du lịch đi một chuyến đi ít hơn nhưng gần như bằng nhau, người khác lại nói với anh ta, "Này, anh không biết đây là con đường đến Timbuktu sao?" (xin lỗi Robert Frost và Yogi "Nếu bạn đến một ngã ba trên đường, hãy lấy nó" Berra. –

6

Resharper nói với tôi để

Trên thực tế, nó không. Có (rộng rãi) hai loại thứ R # giao tiếp với người dùng: những thứ mà người dùng cho rằng người dùng nên làm và những thứ mà người dùng có thể muốn làm điều đó có thể dễ dàng thực hiện nhanh hơn.

Một ví dụ về người đầu tiên:

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

Việc chuyển nhượng 4 sẽ tạo ra "Chuyển nhượng không được sử dụng" kiểm tra, với biểu tượng bóng đèn ở bên lề trái, cung cấp một chóng vánh hành động để khắc phục sự cố (bằng cách xóa bài tập).

Một ví dụ về thứ hai:

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

Định vị con trỏ trên if sẽ tạo ra một biểu tượng bút chì ở bên lề trái, đưa ra một hành động bối cảnh để đảo if. Nó không nói bạn nên - nó nói, "hey, nếu bạn muốn làm điều này, chỉ cần chọn mục trình đơn này và tôi sẽ làm điều đó cho bạn".

Thêm tên đối số nằm trong danh mục thứ hai, một hành động ngữ cảnh. Nếu bạn không muốn được cung cấp nó, bạn có thể tắt nó trong ReSharper | Options | Code Editing | C# | Context Actions.Đối với Thanh tra mã, trình đơn bật lên tự cung cấp cơ hội để thay đổi mức độ nghiêm trọng của việc kiểm tra; hoặc bạn có thể xem tất cả chúng trong ReSharper | Options | Code Isnpection | Inspection Severity.

Cá nhân có một số hành động ngữ cảnh mà tôi không nghĩ rằng tôi đã từng sử dụng (ví dụ: "chuyển đổi thành hex"), nhưng có những thứ khác mà tôi thấy vô giá để mã hóa nhanh chóng (các kết hợp chuyển đổi giữa ?:if và đảo ngược, ví dụ)

Các vấn đề liên quan