Displaying posts with tag: programming

[Display All Posts]

Pair Programming Games

Geisha Playing Ping Pong Last week, Moss Colum and Laura Dean gave the Boston Software Craftsmanship group a sneak peak of their Agile 2010 Pairing Games as Intentional Practice session. And, as a bonus, we got to try the games out during our code kata.

I know what you’re thinking, Abby, you’re a freakin’ geek. And I’m okay with that. But it was WAY fun so I wanted to share.

I love the premise behind this. A lot of us struggle when pairing with another person, so let’s create games we can play (intentional practice) to help us get better at the parts we’re struggling with.

I think we can learn not only how to pair better, but also how to incorporate games into our work as a way to continuously improve ourselves and how we collaborate with others.

Read More…..

Share

More LINQ Goodness: Now with WPF!

Apologies for the slow down in posts, I’ve been head’s down in code bringing you more tutorials on LINQ to SQL and LINQ Tutorials with WPFhow to use it with my current obsession, Windows Presentation Foundation.

It has now been expanded into 3 parts – aka, everything you ever-never wanted to know about LINQ to SQL:

  1. Mapping Tables to Objects
  2. Adding/Updating/Deleting Data
  3. WPF Data Binding with LINQ to SQL

These tutorials describe how to manually map your classes to database tables with LINQ to SQL so you can have support for M:M relationships as well as WPF data binding using my own hack workaround solution to providing this functionality. One person even claimed my code was cleaner then the auto-generated code, but I’ll leave that for you to decide yourself.

But… even if you do choose to auto-generate your classes, understanding how these techniques work will allow you to expand the code to better fit your application’s needs and troubleshoot issues when they arise.

I hope these help you out in your own encounters with LINQ to SQL!

Share

A LINQ Tutorial

For the source code inclined in each of you, I just posted an application and tutorial on LINQ, .NET’s Language Integrated Open Source Code (Img by J.Anderson)Query, on The Code Project.

It shows how to map database tables to classes with LINQ and then retrieve the data in the very cool LINQ-manner that makes me ooh and ahh for doing more with C#.  It also includes a simple WPF GUI that uses data binding to display the data and navigate the relationships because, well, WPF data binding is sexy.

I hope you enjoy!

A LINQ Tutorial: Mapping Tables to Objects

Gratuitous brag update: This article was just selected as Editor’s Choice on The Code Project (w00t!)

Share

Poka-Yoke Your Code

Pokeymon says "Don't forget to Poka-Yoke your code, kids!"Mary Poppendieck tells this great story about when the manufacturing plant she worked for transitioned to Lean. When they started, she says, they had this separate QA group whose job it was to find defects in the products after they were already made (sound familiar?). But then they took these QA folks and moved them out onto the production line to figure out how to make stuff without defects in the first place. Huh! Wouldn’t it be cool if we could do that for software?

This is the idea behind Poka-Yoke, or mistake proofing. It means setting things up in such a way that prevents people from making mistakes.

You’ve probably seen this before in product design – monitor cables with male & female ends that prevent us from plugging them in the wrong way. Or in software with controls like dropdown lists (male, female) that prevent users from entering incorrect values (I’ll let you use your imagination).Monitor cables have male & female ends to prevent us from plugging them in the wrong way

Toyota brings this idea onto their production lines with devices that prevent incompatible parts from fitting together. But also with poka-yoke methods that detect problems and shut down the machine (stop the line) or activate alarms so people are immediately alerted to correct it. So even when it’s not possible to completely prevent errors from occurring, they still prevent those errors from entering production. And they can then fix those errors immediately before they get a chance to compound into serious problems.

So the question is, how can we poka-yoke our code?

Read More…..

Share