Tôi đang gặp khó khăn với quy tắc StyleCop SA1503 (CurlyBracketsMustNotBeOmitted).Bắt quy tắc StyleCop SA1503 CurlyBracketsMustNotBeĐược phép trở nên linh hoạt hơn
Trong mã của tôi, tôi khá thường xuyên có một mô hình như sau:
public void SomeFunction(string someArg)
{
if (string.IsNullOrEmpty(someArg)) throw new ArgumentNullException("someArg");
// rest of the function here
}
Lý do đằng sau này là để tiết kiệm không gian thẳng đứng khi thực hiện nhiều kiểm tra xác nhận trên một đối số duy nhất và/hoặc kiểm tra trên nhiều tranh cãi. Logic trong kiểm tra như vậy thường đơn giản và súc tích và tương tự như vậy đối với ngoại lệ bị ném.
Tuy nhiên, tôi sẽ bao giờ ghi
if (someConditional)
DoSomeStuff();
tôi sẽ luôn viết
if (someConditional)
{
DoSomeStuff();
}
Vì vậy, trong bản tóm tắt:
- Sử dụng dấu ngoặc nhọn nếu câu lệnh if được chia trên nhiều dòng
- Không sử dụng dấu ngoặc nhọn để xác thực đối số đơn giản, v.v. có thể dễ dàng (và dễ đọc) được đặt trên một dòng
StyleCop có thể giúp tôi ở đây không?
@Richard E: cuối cùng bạn đã làm gì? Tôi không muốn giải thể quy tắc, nhưng tôi muốn viết các điều kiện tiên quyết của tôi như mô hình bạn mô tả. –
@Lieven: Hiện tại chúng tôi đã để nguyên quy tắc này và quyết định sử dụng dấu ngoặc nhọn trên các điều kiện một dòng của chúng tôi. Để kết thúc này, chúng tôi đã tắt quy tắc StyleCop SA1501. –
OffTopic: không ném ArgumentNullException nếu biến là chuỗi rỗng, bạn nên sử dụng nó chỉ cho tham số null –