.NETify the public API where appropriate
----------------------------------------

                 Key: LUCENENET-467
                 URL: https://issues.apache.org/jira/browse/LUCENENET-467
             Project: Lucene.Net
          Issue Type: Improvement
          Components: Lucene.Net Contrib, Lucene.Net Core
    Affects Versions: Lucene.Net 2.9.4, Lucene.Net 2.9.2, Lucene.Net 3.0.3, 
Lucene.Net 2.9.4g
         Environment: all
            Reporter: Christopher Currens
             Fix For: Lucene.Net 3.0.3


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|http://msdn.microsoft.com/en-us/library/fs2xkftw.aspx] 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

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to