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