Скачать 3.51 Mb.
Oh, people can come up with statistics to prove anything, Kent. 14% of people know that. —Homer Simpson
I would like to thank Kent Beck, Peter Merel, Ken Happel, Ron Jeffries, Tom Copeland, John Sarkela, Sunitha Dangeti, Corey Goldberg, Hidetoshi Nagai, My Hood, My Folks, Samuel Falvo, Lisa Crispin, Dan Twedt, Beth Crespi, all the Internet forums, Chris Hanson, Jeff Grigg, XP SoCal, and XP San Diego. My long-suffering reviewers were Ben Kovitz, Siemel Naran, Kay Pentecost, Tom Poppendieck, Stan Rifkin, and Dossy Shiobara.
Incomparable technical gratitude extends to everyone cited in the text (and anyone overlooked), for writing a good resource or creating an excellent software module.
When developers use tests to design code, they enable changes and prevent bugs. Some libraries and environments (& cultures) make automated testing very hard. Graphical User Interfaces are the worst. All other systems submit to program control; GUIs have a side only users see or touch. Their visual appearances and input behaviors resist tests, and they are too easy to accidentally change. These side effects complicate writing tests that force predictable changes in GUI appearance and behavior. Predictability leads to Agility.
A naïve attempt to write a test on a GUI might lead to a window popping up, blocking the test run. This window tempts programmers to visually inspect it, click on it, drive it, debug it, and inspect the results. That way leads to a madness familiar among GUI programmers.
Seven years ago, my abilities reached limits. I knew only how to design, code, and debug (in that order), not how to sustain those activities as projects scaled. The more code a project ran, the higher the bug rate for each change, and the lower our visibility to managers and experts. At that time, Smalltalk programmers, on the distant opposite side of the industry, kept secret how to go farther. They conveyed their ideal in a new set of jargon, and no one knew how to explain what they were doing (except via Pair Programming).
These books sprung their secret:
The secret was to test, code, and design, in that order.
When those authors put words to experiences that felt subjective, they learned these words were not grandiose pep talks; they were very specific guidelines to programmer behavior. Configure your project so when it does Xi, you instantly do Yi. Learn those stimuli and responses, and repeat them over and over again. The right set of simple rules can generate very sophisticated behaviors.
Those books teach which Xs indicate what Ys, and how to minimize any latency between feedback and response. Testing, refactoring, and teamwork make development rapid and predictable, but many libraries and systems interfere with automated feedback, flexibility, and sharing. This book introduces Agility in GUI terms, and reveals how test-first can develop user interfaces.
The book has three parts:
Read Part I, and imagine applying its concepts to your project. Each concept in Part I links to complete examples in Part II. Follow a link to see the concept working in a real, complete project. Download the source of this project, from http://zeroplayer.com/tfui/TFUI_source.zip, and follow along with the code changes.
Part II illustrates many practical techniques and patterns, supporting and extending our TFUI Principles. Part III explains Agile practices in general, with links back to their technical implementations.
|Dedicated to Ashley & Iris||Abramovitz, Janet N., and Ashley T. Mattoon. 1999|
|Plastics and the Environment. Hoboken. N. J. Wiley-Interscience. Ashley, S. 2002||Gilliland home is dedicated|
|Citations Acknowledging or using iris-related facilities and Data As of August 2010 Please send corrections and/or additions to||Dedicated to Jerry Lefcourt, Lawyer and Brother|
|Free to download magazine dedicated to Commodore computers||Morning session I: Dedicated to Prof. A. Acrivos, “Suspensions and particulates”|
|08: 30 Registration 09: 00 Welcome Remarks Morning session I: Dedicated to Prof. A. Acrivos, “Suspensions and particulates”||The Culture of Irises in the United States Iris Culture for the Mountain and Plains Region, D. M. Andrews 5|