Hi Benjamin and others,

I have seen your commit... wow - that's a clean up!
And I also like the idea with markers.

But it will be a hell of work to do that for all Plugins. Not sure if you have a priority list.

With respect to the loop: why would you use "for" instead of "while"?
The problem is that we could loop infinitely sometimes - and while does express it better - bounding it to a "terminate" condition. Whereas "for", from my point of view, is used only if the sent of loops is finite (from i to n).
However, in case of the plugin it works, as we go through a finite list

But, just asking.. as I am lacking proper programming knowledge.

And then to your comment on SVN. I think I am also at the point where I see that git may be the better alternative if we start branching, as supposedly branching and merging is better in git than in SVN.

stefan

On 25/01/2012 7:37 PM, Benjamin Gudehus wrote:
I've pushed my refactorings to improve readability to the repository.

For the future we could run a parser over the classes to extract the
language/translation strings for the language files:

private String langName = "Delete Duplicate Geometries";
private String langDescription = "deletes features with similar geometry";

--Benjamin

2012/1/25 Benjamin Gudehus <hasteb...@googlemail.com <mailto:hasteb...@googlemail.com>>

    Here are some ideas/questions for refactoring of the class:

    1. List configuration parameters prominently (Layer itemLayer,
    boolean deleteOnlySameAttributes)
    So it is easier to see what parameters could be tested or used.
    2. List language strings prominently (String langDescription,
    String langDeleteOnlySameAttributes, ...)
    So it is easier to find the translation strings in the translation
    files.
    3. Split contents of initialize() into two methods
    (initializeLanguageStrings, initializeMenuItem)
    [Neal Ford calls this "Composed Method"
    (http://www.ibm.com/developerworks/java/library/j-eaed4/index.html)]
    4. Why is createEnableCheck static?
    5. TaskMonitor is not used in delete(), delete() should return a
    FeatureCollection.
    6. Extract attributesEqual logic into a new method
    areAttributesEqual().
    7. Never use one letter (or two letter) variable names ;)

    8. Is there a better way to use while (it.hasNext())?
    I always used "for (Feature feature in featureCollection)" in
    Groovy, but this is not that simple
    in Java :(

    I will make these changes to the classes and add some test cases
    to the testing class.
    Then I will commit my changes to trunk. (We really need to dump
    Subversion in some point of time and
    switch to Git or Mercurial!)

    --Benjamin

    2012/1/15 Benjamin Gudehus <hasteb...@googlemail.com
    <mailto:hasteb...@googlemail.com>>

        including 8 strict features => including 8 strict duplicates ;)


        2012/1/15 Benjamin Gudehus <hasteb...@googlemail.com
        <mailto:hasteb...@googlemail.com>>

            2012/1/15 Michaël Michaud <michael.mich...@free.fr
            <mailto:michael.mich...@free.fr>>

                It took me a while to make it work, because in the
                same time, I tried
                to use Eclipse, then Netbeans that I've never really
                used for a big project.
                It was a horrible experience. How can Eclipse be so
                popular ? I'm
                really wondering.


            But JUnit also works for Netbeans, does it? I'm personally
            a fan of Eclipse, because
            of GroovyEclipse and Mylyn. Makes life so much easier.

                Finally, I could optimize DeleteDuplicateItemsPlugIn
                and create a unit-test.
                For a 50 000 building layer, it takes about 1 s
                instead of 2 mn !


            Wow, that's much. I looked at a diff for the changes and
            saw the IndexedFeatureCollection
            and the HashSet. I wonder if there is a webapplication to
            upload the diff and review/comment it online.

            Here is a small suggestion for an improvement to the test:

                    // when: "union by attribute is called"
                    ...
                    // Dataset has 41 features, including
                    // 8 strict duplicates -> 33 features after process
                    assertEquals(...)

            Could be changed to:

                    // when: "processed a dataset with 41 features,
            including 8 strict features"
                    ...
                    // then: "results with 33 features"
                    assertEquals(...)

            For me the given-when-then comments are accually part of
            the code.

                Would also like to give a second try to IntelliJIDEA
                (there is a free
                version which is user-friendly).


            IntelliJ is an amazing IDE. I'm personally too stuck with
            Eclipse, but I regulary used
            the other products from Jetbrains that are based in
            IntelliJ (RubyMine and WebStorm).

            And it's good that Jetbrains open-sourced some parts of
            IntelliJ.







------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d


_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to