Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
RailsConf 2010 AntiPatterns Tutorial
JavaScript Ruby
tree: d153b4e54a

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
log
podium
public
test
workshops
.gems
.gitignore
README.textile
Rakefile
config.ru

README.textile

Outline

I’m going with a marshal theme, here. Let’s see how this plays out…

Introduction

Lay of the Land

  • Are you in a rescue mission?
    • The 15 minute code review
  • How did the project get here?
    • Technical reasons
      • Poor developers?
      • Hard technical problems?
      • Lack of constant refactoring?
      • Technical Debt
    • Non-technical reasons
      • Process?
      • Personality?
      • Lack of focus on quality?
      • Arbitrary deadlines?
  • Should you take this project?
    • Are the technical issues surmountable? Are the bad developers still there?
    • If there are non-technical issues, do you really believe you can fix them?
    • How much should I charge?
    • Visibility: If this works, will the client likely send me other good clients? If this fails, will it have my name all over it?

Objectives

  • Un-fuck the codebase.
  • Train the client.
  • Fix the process.

Strategy

  • Some content from first part of the doing it wrong talk
  • Small Chunks
  • Communication
  • Visibility
  • TDD
  • Balance of refactorings with features

Tactics

  • Examples
  • Some content from second part of doing it wrong talk

Instructions for getting started:

Running the classroom locally

The classroom relies on the following gems:

  • haml
  • activesupport
  • podium
  • ratpack
  • RedCloth
  • sinatra
  • sinatra-static-assets

It’s just a rack app, so you can run it via shotgun: shotgun configu.ru

Slides

  • …are found under podium/slides/railsconf-2010
  • The images go under podium/assets/images
  • Each slide is inside a .slide div
  • .slide divs with a class of .section are sections
  • .slide divs with a class of .subsection are subsections
  • Sections and subsections should have an id, like such: .slide.section#Main_Section, or .slide.subsection#Name_of_this_Subsection. Those ids are used to generate the section listing (which you’ll see when you type s).
  • I’ve added custom HAML filters, :code, :rubycode, and :htmlcode for adding syntax highlighted code blocks.

Workshops

  • …are found under workshops/railsconf-2010
  • should start with a number for ordering.
  • should have a README.textile file, which is used to generate the classroom page.
Something went wrong with that request. Please try again.