[Mono-list] .NET C# LDAP Libraray.
Thu, 13 Nov 2003 17:16:26 -0800
Just to add my 2 cents...I know while it was easier to run the Java Language
Conversion Assistant on the existing Novell Java LDAP source code, what you
end up with leaves a lot to be desired. I see a number of places where the
converter mangled parameter names.
Also, there's a plethora of static const integers exposed in a number of
classes, namely LDAPConnection and LDAPException. To truly comply with C#
conventions, these should be replaced with standard enumerations.
In a lot of ways, it's a tough call as whether it's best to stick with the
existing API used in the Java code when porting it to C#. On one hand, if
you just mirror the Java API in C#, it's much easier to port existing Java
client classes over to C#. But I don't think that should be the only goal
when porting com.novell.ldap.*. I think it's important to make the C# API
as true to Microsoft's guidelines as possible. Classes like
LDAPSearchResults should implement the appropriate collection interfaces so
foreach and indexers can be used, etc.
[mailto:email@example.com] On Behalf Of Ben Maurer
Sent: Thursday, November 13, 2003 4:18 PM
To: Matt Ryan
Subject: Re: [Mono-list] .NET C# LDAP Libraray.
I was taking a quick look at your sources, they look great! One thing I
did notice, however, is that you guys are naming your classes things
However, in c# the guidelines for when you have a situation like that:
1) if the first part is two letters, keep it uppercase (eg, IPAddress)
2) otherwise, only have the first letter uppercase (XmlTextWriter,
Right now, you are early enough in the design process that this can
easily be fixed with a tad of grep magic (no need to worry about
history-- there is nothing to loose).
I would highly advise running FxCop (i realize it only runs in Windows,
some day I think we should make something like it for mono).
Better to catch stuff like this early when you dont have to take compat,
cvs history etc into account.
Mono-list maillist - Monofirstname.lastname@example.org