You know those guys that do yoga and they go on a trip into a secluded place and meditate? Yea, we can have that too.
It's totally fine if you're not familiar with TDD and the SOLID principles. However you'll be better off by getting to know what benefit they bring into your programming skills.
From Wikipedia on TDD:
Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle:
- First the developer writes an (initially failing) automated test case that defines a desired improvement or new function
- Then produces the minimum amount of code to pass that test
- And finally refactors the new code to acceptable standards.
Kent Beck, who is credited with having developed or 'rediscovered' the technique, stated in 2003 that TDD encourages simple designs and inspires confidence.
From Wikipedia on SOLID:
In computer programming, SOLID (Single responsibility, Open-closed, Liskov substitution, Interface segregation and Dependency inversion) is a mnemonic acronym introduced by Michael Feathers for the “first five principles” identified by Robert C. Martin in the early 2000s that stands for five basic principles of object-oriented programming and design.
This blog entry explains what SOLID is in simple terms so it should be great for you to get started.
The main objective of the code retreat is to improve software development quality through exercise and repetition. It's supposed to be a relaxed time and entirely out of scope in which the participants focus on writing perfect code rather than fast code.
The day will be split into 40 minute sessions, followed by a 10 minute retrospective. That will result in approximately 5 regular sessions throughout the day. An extra session will be held in a slightly different way, according to the audience's feedback.
The event will have room for a one hour lunch in which people will be able to discuss their progress in the experience. Also we will invite people to have an informal dinner (francesinhas anyone?).
There will be one or two facilitators. These people will poke around the participants' sessions and sensibly provoke their minds in order to better achieve code perfection and help them improve their skills.
At the end of the event, people will share their experience and their learning.
The main focus of the event is to embrace TDD, good software design and pair programming techniques. The four rules of simple design are:
The event is language agnostic as we encourage people to solve design problems rather than language problems. Object-oriented languages with a testing tool are more suitable to the challenge but you're free to pick any one you like.
Just bring your own laptop and snacks to eat along the journey. Bring a fair amount of snacks, you'll need them.
No fee is required to join us. Sign up by adding your name to the bottom of this page.
It's best to stick with the simplest and less distracting tools. If you're using a dynamic language like Ruby or Python or Javascript, a terminal is the best choice. If, however, you choose something like Java or C#, then an IDE will have to do. Remember, keep it simple, everyone should be able to understand the process.
We thank our sponsors for their awesome support.
Check this map on how to get to the spot. There's a parking space right in front of FEUP free of charge on saturdays.
Since lunch is not included, we're considering gathering everyone around and order some pizza and soda. Something around 6 € should do fine. Are you okay with that or would you rather go out on your own?
If you're into this pizza idea then place a `(+)` next to your name when you sign up.
If you're in trouble or doubtful, reach us through the AgilePT google group or directly through one of us:
Please add your name below to register for the Code Retreat. If you're not signed up to edit this wiki then let us help you.