Here's a compilation of the extensive feedback we got from the just under 60 people that attended Developers Anonymous at the absolutely excellent 1st edition of the JoyOfCoding conference. Btw the organisers rock!
This is a compilation, we've selected statements with no particular rationale other than to put in bold statements that represent an idea shared by at least 3 people.
What have you done differently than usual?
- Run the tests systematically
- I had tests!
- Making classes out of primitives
- Took smaller steps in refactoring, a more structured approach (bigger steps, more mistakes)
- Focusing on details instead of the bigger picture, to start with.
- Lean more on the compiler / IDE
What suprised you the most?
- Amount of thinking involved in OO design
- The plugin auto running unit tests on save
- Code became readable quite quickly
- Not analysing just extracting logic in small steps
- How small the resulting code was
- The power of refactoring tool in Eclipse, what more tooling am I not using!?
- Ease of refactoring when you have 100% coverage and following a few rules
- Ease, fun
- How many different solutions are available for the same problem
Name one question that this workshop has raised
- When is it OK to have getters and setters?
- Is this actually faster than extracting the different cases?
- Why the heck this code works as is!?
- Will this work with our code?
- What more do I need to know to apply this more rigorously?
- I wonder what my design is going to look like using classes with only 2 instance variables
- Amount of work to get 100% coverage
Does it match your expectations?
- Yes, I want to know more
- Yes it is nice to see a design evolve using these small steps
- Expected it to be less difficult
- It was fun
Would this be useful at work? How? Why not?
- We will talk much about it to our colleagues
- Yes it is a better way of refactoring
- If I didn't know the business domain, yes.
- Yes, it helps me figure out how to attack complicated functions in our legacy code
- Yes, our largest "zzz" class suffers a lot from Feature Envy
Miscallaneous
- It would have been good to have a session about how to write tests for this kind of code
- It was a very nice learning experience
As presenters we're particularly fond of that last phrase! A great thanks to all the participants, we had a great time!
If you didn't attend and you would like to know a bit more about this session there's a github repository with the exercise in several languages, along with documentation that'll give you some idea about the content. With Rémy Sanlaville we'll also prepare a screencast with the live demos.
You can rate this talk/workshop at http://spkr8.com/t/20171
You can rate this talk/workshop at http://spkr8.com/t/20171