Although we haven't abandoned the line-by-line port of Java lucene, there are many idioms in Java that make little to no sense in a .NET assembly. The API can change to allow for a conventional .NET experience, while still maintaining the ability and ease during the porting process of Java logic.
- Change Getxxx() and Setxxx() methods to .NET Properties
- Implement the dispose pattern properly. Try, at all costs, to only use finalizers when necessary. They are expensive, and most of the classes used already have finalizers that will be called.
- Convert Java Iterator-style classes (see TermEnum, TermDocs and others) to implement IEnumerable<T>
- When catching exceptions, do not use throw; instead of throw ex; to maintain the stack trace
|Convert Java Iterator classes to implement IEnumerable<T>||Open||Unassigned|