[Banshee-List] Gendarme on Banshee



Hello,
I ran Gendarme (http://www.mono-project.com/Gendarme) on Banshee. It was
pretty clean for the core. The 2 rules that were seen are:

* NewLineLiteralRule: use of "\n" instead of Environment.NewLine. This
is a portability problem. If there is no intent to port Banshee to
Windows, for example, this is not a problem.

* NullDerefRule: seen 100+ per assembly. Basically, there is not enough
checks to see if an object is null before it is used.

Some more interesting results:
* DoubleCheckLockingRule seen in Banshee.Base - See
http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html


There are more hits for the plugins:
*  IDisposableWithDestructorWithoutSuppressFinalizeRule twice in Daap.dll

* BadRecursiveInvocationRule in ItuneMusicStore.dll (anyway, I don't
think this plugin works or is maintained anymore)

*  DoubleCheckLockingRule: 3 times in Podcast.dll

* BadRecursiveInvocationRule (5) and DoubleCheckLockingRule (1) in
Util.dll (part of the Beagle plugin I believe)

Julien




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]