{"id":1100,"date":"2018-02-14T12:34:14","date_gmt":"2018-02-14T20:34:14","guid":{"rendered":"http:\/\/zuill.us\/WoodyZuill\/?p=1100"},"modified":"2018-02-14T14:09:58","modified_gmt":"2018-02-14T22:09:58","slug":"practical-refactoring-workshop-austin","status":"publish","type":"post","link":"https:\/\/zuill.us\/WoodyZuill\/2018\/02\/14\/practical-refactoring-workshop-austin\/","title":{"rendered":"Practical Refactoring Workshop &#8211; Austin"},"content":{"rendered":"<h2><strong>Practical Refactoring &#8211; Tiny Steps to Better Code<\/strong><\/h2>\n<h2><strong>2-Day Lab, Austin, Texas, USA<\/strong><\/h2>\n<h2><strong>May 3-4, 2018\u00a0<\/strong><\/h2>\n<p><strong>With Llewellyn Falco and Woody Zuill<\/strong><\/p>\n<p>Eventbrite registration:\u00a0<a href=\"https:\/\/www.eventbrite.com\/e\/2-day-practical-refactoring-lab-austin-tickets-40431719361\" target=\"_blank\">https:\/\/www.eventbrite.com\/e\/2-day-practical-refactoring-lab-austin-tickets-40431719361<\/a><\/p>\n<p>The goal: &#8220;Clean Code That Works&#8221; (Ron Jeffries) , and getting there is half the fun.\u00a0 Working with a legacy mess can be frustrating, boring, dangerous, and time-consuming.\u00a0 When FIBS occur (FIBs = Fixes that Introduce Bugs) you often enter an endless Test and Fix cycle that can quickly escalate into a nightmare.\u00a0 I&#8217;ve been there, you&#8217;ve been there.\u00a0 How do we return to pleasant dreams?<\/p>\n<p>In this code-centric workshop we&#8217;ll look at ways to introduce sanity and calmness into the process of\u00a0maintaining and improving buggy, poorly written, poorly designed code. \u00a0Few slides, mostly code. We&#8217;ve been fighting the good fight for a long time and we are going to show you how to turn any project around and have fun doing it. \u00a0It is our opinion that we can fix and enhance any code.<\/p>\n<p>We&#8217;ll be working on an example project, and learn the steps of making changes to code in tiny steps. We&#8217;ll explore ways to introduce tests to legacy code, and find ways to clean up the most common problems of duplication, clutter, complexity, and cleverness, as well as identifying and removing duplication.<\/p>\n<p>Our approach will have us using Solo, Pair, and Mob Programming to do exercises and work with others as we\u00a0experiment\u00a0with many simple techniques that combine together to make a big impact on the quality and cleanliness of our code.<\/p>\n<h3>Learning Goals<\/h3>\n<ul>\n<li>The basic goal is to learn enough about refactoring in baby steps so you can begin doing this immediately. \u00a0We&#8217;ll be covering a number of basic refactoring techniques that provide a wide range of easy to implement improvements, and learn how to identify some common code &#8220;smells&#8221; (symptoms of potential problems)<\/li>\n<\/ul>\n<h3>Instruction Approach<\/h3>\n<ul>\n<li>Hands-on Exercises<\/li>\n<li>Interactive Dialogues<\/li>\n<li>Simulations,\u00a0Videos<\/li>\n<\/ul>\n<h3>Agenda<\/h3>\n<p>Day 1 &#8211; Cleaning the code<\/p>\n<ul>\n<li>8:30-9:00 &#8211;\u00a0 We&#8217;ll alternate between instructional demonstrations and hands-on coding exercises.<\/li>\n<li>9:00-10:30 &#8211; Basic theory of our approach to working with legacy code<\/li>\n<li>10:30-10:45 &#8211; Break<\/li>\n<li>10:45-12:00 &#8211; Instruction and hands-on exercises<\/li>\n<li>12:00-12:45 &#8211; Lunch<\/li>\n<li>12:45-2:30 &#8211; Instruction and hands-on exercises<\/li>\n<li>2:30-2:45 &#8211; Break<\/li>\n<li>2:45-4:15 &#8211;\u00a0Instruction and hands-on exercises<\/li>\n<li>4:15-4:30 &#8211; Retrospective<\/li>\n<li>4:30-5:00 &#8211; Questions, wrap-up of the day<\/li>\n<\/ul>\n<p>Day 2 &#8211; Discovering the emerging architecture<\/p>\n<ul>\n<li>8:30-9:00 &#8211;\u00a0 We&#8217;ll alternate between instructional demonstrations and hands-on coding exercises.<\/li>\n<li>9:00-10:30 &#8211;\u00a0Continue with theory of our approach to working with legacy code<\/li>\n<li>10:30-10:45 &#8211; Break<\/li>\n<li>10:45-12:00 &#8211; Instruction and hands-on exercises<\/li>\n<li>12:00-12:45 &#8211; Lunch<\/li>\n<li>12:45-2:30 &#8211; Instruction and hands-on exercises<\/li>\n<li>2:30-2:45 &#8211; Break<\/li>\n<li>2:45-4:15 &#8211;\u00a0Instruction and hands-on exercises<\/li>\n<li>4:15-4:30 &#8211; Retrospective<\/li>\n<li>4:30-5:00 &#8211; Questions, wrap-up of the day<\/li>\n<\/ul>\n<p>We&#8217;d love to see you there!!<\/p>\n<p>Eventbrite registration:\u00a0<a href=\"https:\/\/www.eventbrite.com\/e\/2-day-practical-refactoring-lab-austin-tickets-40431719361\" target=\"_blank\">https:\/\/www.eventbrite.com\/e\/2-day-practical-refactoring-lab-austin-tickets-40431719361<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Practical Refactoring &#8211; Tiny Steps to Better Code 2-Day Lab, Austin, Texas, USA May 3-4, 2018\u00a0 With Llewellyn Falco and Woody Zuill Eventbrite registration:\u00a0https:\/\/www.eventbrite.com\/e\/2-day-practical-refactoring-lab-austin-tickets-40431719361 The goal: &#8220;Clean Code That Works&#8221; (Ron Jeffries) , and getting there is half the fun.\u00a0 Working with a legacy mess can be frustrating, boring, dangerous, and time-consuming.\u00a0 When FIBS occur [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1100","post","type-post","status-publish","format-standard","hentry","category-general-stuff"],"_links":{"self":[{"href":"https:\/\/zuill.us\/WoodyZuill\/wp-json\/wp\/v2\/posts\/1100","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zuill.us\/WoodyZuill\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zuill.us\/WoodyZuill\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zuill.us\/WoodyZuill\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zuill.us\/WoodyZuill\/wp-json\/wp\/v2\/comments?post=1100"}],"version-history":[{"count":4,"href":"https:\/\/zuill.us\/WoodyZuill\/wp-json\/wp\/v2\/posts\/1100\/revisions"}],"predecessor-version":[{"id":1104,"href":"https:\/\/zuill.us\/WoodyZuill\/wp-json\/wp\/v2\/posts\/1100\/revisions\/1104"}],"wp:attachment":[{"href":"https:\/\/zuill.us\/WoodyZuill\/wp-json\/wp\/v2\/media?parent=1100"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zuill.us\/WoodyZuill\/wp-json\/wp\/v2\/categories?post=1100"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zuill.us\/WoodyZuill\/wp-json\/wp\/v2\/tags?post=1100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}