I am going to be sending my "advanced java course" students (professional programmers learning Java at an extension course) to poke around wiki. Some of them asked me to grade their homeworks on style / design (in addition to "is the code correct"). And it occurred to me that exposing them to wiki is probably a lot better for them than getting my style comments on their homeworks.
That is, there's probably no better way for them to learn about the craft than by
- writing code and
- reading wiki.
But, given that they're a specific audience, it makes sense to give them their own annotated set of starting points. Which leads to the following list of annotated list of wiki pages, designed to give them a good feel for wiki.
- WelcomeVisitors. A nice way to start. It has pointers to pages that talk about how wiki works and a few pointers to index pages.
- RecentChanges. The page to track discussions on wiki. Every time a page changes, its url gets moved to the end of RecentChanges. This lets you have (or simply follow) discussions over time, with some of the best software engineers in the world.
- JavaIdioms. A page created a while back, now fairly quiescent. The question is this: what are the java specific patterns and idioms that pop up in code. This page contains a few of the ones that people found cropping up in their code. And some good discussion of why these patterns are good or not-so-good.
- AvoidExceptionsWheneverPossible. A sample page, thrown in to illustrate the style of discussion that is possible here. Another good example is UnitTests.
- ExtremeProgramming. A new methodology. Most of the people who developed it are active on wiki. It is the focus of a lot of the recent discussions, and has a lot to say about what makes code good (and processes which can help produce good code).
- http://www2.awl.com/cseng/titles/0-201-89542-0/refactor/index.html. Not a wiki page, but a great page nonetheless. An extended discussion of common refactorings. The Motivation sections are a great way to learn about good programming style.
--
WilliamGrosso
CommentingChallengeTwo has a nice progression that ends up with a very nice Java style example.
My most recommended page is CodeSmells.
In the process of grading homework assignments, I discovered myself repeatedly referring to the following pages
--
WilliamGrosso