Home

Advertisement

All things considered... - FxCop [entries|archive|friends|userinfo]
Qbit

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

FxCop [May. 3rd, 2009|07:13 pm]
Previous Entry Add to Memories Tell a Friend Next Entry
[Current Music |The Who - Tommy]

В качестве эрзац-Саттера для .NET удобно использовать раздел в MSDN, посвящённый варнингам FxCop'а: http://msdn.microsoft.com/en-us/library/bb429379(loband).aspx. Теперь мутное объяснение гайдлайнов на пальцах можно подкрепить пруфлинком с рекомендацией от Майкрософта.

Например.

Design Warnings:

  • Do not pass types by reference
  • Avoid out parameters
    «Passing types by reference (using out or ref) requires experience with pointers, understanding how value types and reference types differ, and handling methods with multiple return values... Passing a reference type “by reference” is also known as using a double pointer, pointer to a pointer, or double indirection. By using the default calling convention, which is pass “by value”, a parameter that takes a reference type already receives a pointer to the object. The pointer, not the object to which it points, is passed by value. Pass by value means that the method cannot change the pointer to have it point to a new instance of the reference type. However, it can change the contents of the object to which it points.»
    Может вызывать путаницу с двойной косвенностью вроде той, что недавно описывал [info]zabivator.
    В ближайшей версии фреймворка наконец-то введут стандартные тьюплы, так что можно будет не плодить классы для упаковки нескольких возвращаемых значений.
  • Use generic event handler instances

Globalization Warnings:

Naming Warnings:

Performance Warnings:

Usage Warnings:


Upd 2009-05-09.

Также удобно ссылаться на куски «Framework Design Guidelines», размещённые опять же в MSDN: http://msdn.microsoft.com/en-us/library/ms229042.aspx.

Например. To be continued...

LinkReply

Comments:
From: [info]smalgin
2009-05-03 07:41 pm (UTC)

(Link)

Спасибо. Пойду прогоню чего-нибудь из кода через FxCop :)
[User Picture]From: [info]i_am_realist
2009-05-03 08:05 pm (UTC)

(Link)

а с "Use preferred terms" что не так?
не могу понять.

Advertisement