Code retreat е интересен начин да усъвършенствате програмистските си умения. Събирате се група хора (четен брой) и решавате един конкретен проблем (Conway’s Game of Life). Работите по двойки (pair programming) с test-driven development. Пишете на сесии от 45 минути, след които правите кратка ретроспекция, изтривате кода и сменяте партньора. И така цял ден, с различни хора.
Идеята не е да решите проблема. Идеята е да обмените умения и да затвърдите фундаментални познания. Това е адски добър начин да научите test-driven development или някой друг трик с текстовия редактор/шела.
Чух за идеята миналата година на NordicRuby, но чак през април се престраших да я пробвам. Организирах малко събитие в initLab, в което поканих само познати. Събрахме се 6 човека и направихме 5 сесии. Писахме на C#, JavaScript, Ruby, Python и дори Scala. Бяхме много доволни. Всеки си тръгна научил нещо.
Искам да организирам друг и този път смятам да поканя всички, които искат да дойдат. Събитието ще се проведе от 9:00 на 9 юли, събота в initLab. Ако искате да участвате сте добре дошли. Не е нужно да сте опитни в TDD — просто носете компютър и добро настроение.
Ето как ще протече:
Ще направим нещата „по книга“ – времето ще е 45 минути, проблема ще е Game of Life, ще трием кода на края на сесиите и ще ползваме test-driven development.
Всяка двойка ще се уговаря помежду си на какъв език да пише. Със сигурност ще си намерите партньори за C#, Java, JavaScript, PHP, Python и Ruby. Вероятно ще има всякакви екзотики.
След всяка сесия ще събираме всички и ще обсъждаме как е минало. Ретроспекциите отнемат към 15 минути, след което ще продължаваме с друга двойка.
За да компенсирам ранното ставане, ще има закуска и кафе в initLab. Ако имате по-специални изисквания (не ядете месо или сте веган), кажете и ще се погрижа. След третата сесия ще отидем в близко заведение да обядваме. След това се връщаме и продължаваме. Реалистично погледнато, ще направим 6 сесии и ще приключим към 17:00.
Първите 20 минути ще се запознаем и закусим, след което ще разкажа подробно как ще протече събитието. След това започваме първата сесия.
Събитието ще е напълно безплатно (включително закуската).
Не нужно да сте опитни в TDD. Въпреки това, имаме следните изисквания към всеки участник:
- Носете компютър
- Научете правилата на Game of Life. Ако имате възможност, пробвайте да няколко шаблона.
- Изберете си езици, на които ще пишете и научете поне един тестов framework във всеки. Важно е да познавате инструментите и да можете бързо да пускате тестове.
- Задължително подкарайте празен проект за всяка двойка (език, testing framework), с които смятате да работите на вашия компютър. Не искате да прекарате голяма част от сесията в подкарване на проект.
Ако идвате, моля елате в 9:00 и останете за целия ден. Ако ще идвате, пишете ми на stefan точка kanev маймунка гмейл точка ком. Имам нужда да знам колко човека ще присъстват. Моля пишете само ако сте сигурни. Ако ви изникне нещо в последния момент, ще се радвам да ме предупредите.
Ако имате някакви въпроси, ползвайте формата за коментари, пишете в пощенския списък Software Craftsmanship Bulgaria или ми пратете писмо. Може да погледнете кратките отзиви от предишния code retreat или да намерите повече информация на coderetreat.com.
Ще се радвам да ви видя на 9ти!
Супер идея. Жалко, че в момента съм в Шотландия и работя. Стига да можех да дойда определно щях да се включа. Принципно би било доста готино да се пробва да се напише имплементация и на Haskell 🙂 Още веднъж, поздравления за яката идея.
Have a great coderetreat!
Цялото събитие ще ми бъде много интересно и възнамерявам да дойда. А и ще се радвам да се запозная с добри програмисти. Когато съм на 100% сигурен в присъствието си, ще пиша потвърдителен мейл.
Поздрави
Дам, аз и жената определено идваме. Ако се намерят хора за по-интересни езици – сложи списък някъде, защото ми е интересно. Scheme, примерно.
Стефане, идеяте от The Clean Coder ли ти дойде? Там тия упражнения май бяха наречени ката? Не е ли по-добре да не се повтаря само Game of Life, а примерно и другите видове упражнения – http://codekata.pragprog.com/2007/01/code_kata_backg.html#more
Не, на NordicRuby се запознах с Corey Haines и той ми разказа за това. Прозвуча ми много яко и реших, че рано или късно трябва да го пробвам.