> On Dec 5, 2016, at 9:16 AM, Martijn Dashorst <[email protected]> > wrote: > > I've found the coding guidelines and will add them to my Eclipse installation.
Ok, thx > > On Dec 5, 2016, at 9:16 AM, Martijn Dashorst <[email protected]> > wrote: > > As an experienced Wicket developer I found the following things invaluable. Methinks thou doth understate :-) and for the benefit of this list, Martjin is author of (what I believe is) the definitive book on Wicket: https://wicket.apache.org/learn/books/wia.html > > On Dec 5, 2016, at 9:16 AM, Martijn Dashorst <[email protected]> > wrote: > > I've found the coding guidelines and will add them to my Eclipse installation. > > As an experienced Wicket developer I found the following things invaluable. > > 1. put all UI resources that belong together in the same physical > location: Properties, HTML, Java, etc files for Wicket components have > a 1-1 relationship and should reside in the same folder next to one > another. This makes it easy to work on a page or panel because you can > see all the resources that are necessary for the page or panel in one > place. It makes it easy for other Wicket developers to work on your > application as well. agreed > > On Dec 5, 2016, at 9:16 AM, Martijn Dashorst <[email protected]> > wrote: > > > 2. Use plain string constants directly as Wicket component > identifiers. Wicket component identifiers are typically single use, > only relevant to the component they identify for wicket in the Java > code and the markup. When you use "someIdentifier" in Java code, it is > easy to find the affected markup in the HTML file. When you use a > central registry for string constants and use them by reference, it > obscures the understandability of the code. Another benefit when using > String constants directly instead of by reference is that IDE > integration can take you directly to the affected markup and vice > versa (1). > +1 again > > On Dec 5, 2016, at 9:16 AM, Martijn Dashorst <[email protected]> > wrote: > > In your current code base you split the markup from the Java code, and > use a GlobalIds for Wicket component identifiers. I know there's some > rule in PMD or CheckStyle that says one should only use constant > references and not magic numbers nor magic Strings. However in the > case of Wicket identifiers they truly are local as long as one doesn't > use MarkupContainer#get(String) to retrieve a component from the > hierarchy (but then you're doing it wrong anyway) > > My proposal for the new bootstrapped commander is to keep all > resources for a given page or panel next to one another in the same > location, and to use String constants directly for Wicket identifiers. Yes, of course, please proceed with the recommended changes. And thanks for the clear explanation of intent as well. Shawn
