Apply what you know about extreme programming and object-oriented design to learning C# and the Microsoft® .NET Framework on the fly. Written by a leader in extreme programming, this book covers both high-level concepts and practical coding applications.
Table of contents
- Extreme Programming Adventures in C#
- A Note Regarding Supplemental Files
- XP in the Context of This Book
- Extreme Programming Values
- Extreme Programming Practices
- Is It XP?
- 1. XML Notepad Stories
- 2. Testing with NUnit
- 3. A Pressing Matter
- 4. Extracting the Model
5. Expressing Ideas
- Something to Do
- Commenting for "Clarity"
- Commenting Means "Not Done"
- We Need Some Tests Here!
- Some Additional Tests
- The Starting Code
- The Current Code
- What’s Next?
- A Little Refactoring: That Ugly Get
- Get Rid of the Text Copy
- Observations and Conclusions
- Reflecting Back
- Current Code
- 6. The First Customer Acceptance Test
- 7. Warts and All
- 8. The InputCommand Object
9. Story One Is Done!
- Planning Our Next Session
- Cleaning the Code
- InputCommand Refactoring
- Smaller Details
- Ship It!
- Iteration Planning
10. Find a Bug, Write a Test
- Oh No, There’s a Bug!
- Find a Defect, Write Tests
- Mock the TextBox
- Extract Method
- The Scroll Test
- Build an Interface
- Lessons: Lots of Learning, Not Much Testing
- Code Summary
11. Adding the Section Tag, Part I
- Looking at the Next Few Stories
- A Quick Look Around
- The New Customer Test
- Adding the Programmer Test
- After Lunch Comes a Bit Late
- Adding Ctrl+S—Almost
- Improving the Code
- Removing Duplication
- What’s Next?
- 12. Adding the Section Tag, Part II
- 13. Discovering the Menu
- 14. Don’t Try This at Home
- 15. Climbing Out of the Rat Hole
- 16. Adding the <pre> Tag
- 17. How Do We Do a Test That We Can’t Do?
- 18. A Simple Feature Teaches Some Lessons
- 19. Dark Clouds on the Horizon
- 20. Finishing the Shift+Enter Story
21. Some Things We Ought to Do
- Command Pattern
- Adapter Pattern
- Mediator Pattern
- Small Boy with a Patterns Book
- Deriving a File Class
- Rendering the Text More Effectively
- XML Support in .NET
- What’s the Plan?
- Yes, But What’s the Plan?
- 22. The Delegate from Troy
- 23. Planning Interlude
- 24. File Save and Load
25. Tagging Along
- Setting Direction
- The Basic Approach
- The Actual Work
- Improving the Platform
- sbBegin with a Test
- Enter the List Item
- What’s the Opposite of Simple?
- We Have to Do Something
- Some Starting Ideas
- Removing the Duplication
- Moving Responsibility
- A Bit More Cleanup
- Ordered List
- The Code at This Point
- Selected Customer Tests
- 26. Menu Arrays
- 27. Displaying the Article
28. Oh No! Undo!
- The Final Exam
- The Requirement
- Possible Solutions
- What About Tests?
- Begin with a Test
- Using TextModel as the Saved Object
- Snapshot Every Time
- Building It In
- Removing the Experiments
- It Gets Weird for a Moment
- Are We There Yet?
- Review of What Has Happened So Far
- The Big Picture
- Does This Prove Anything?
- 29. The Final Optimized Undo
- 30. The Long Dark Teatime of the Soul
31. Project Retrospective
- Learning from the Past
- Could We Put This Program into Production?
- The Value of Real Customers
- Customer Tests
- Pair Programming
- Trends over Time
- Are the Tests Helping Us?
- Are the Objects Helping Us?
- Did Our Tests and Objects Help Us Enough?
- Eat Your Own Dog Food
- Code Manager
- Coding Standard
- Be Ready to Use Advanced Facilities
- Is TextModel Too Large?
- Premature Optimization
- Responding to Pressure
- Pressure and Productivity
- Pressure and Quality
- Debugging Techniques
- Design and Code Quality
- Would "More Design" Have Helped?
- Smaller Questions
- The Effect of Illness
- Does Incremental Development Work?
- Are the objects helping us? (Chapter 31, page 482)
- Are the tests helping us? (Chapter 31, page 481)
- Automated tests record our intelligence for later! (Chapter 5, page 65)
- Begin with a test. (Chapter 25, page 323)
- Build simple scaffolding and then improve it. (Chapter 17, page 216)
- Card, Conversation, Confirmation. (Chapter 6, pages 71-72)
- Daily builds are for wimps. (Extreme Programming, page xxix)
- Design all the time. (Chapter 1, page 8)
- Don’t fall in love with our own work
- End to end is further than you think. (Chapter 13, page 182)
- Expressing Intention. (Chapter 4, page 42)
- Fake it before you make it. Fake it till you make it. (Chapter 11, page 146)
- Find a bug, write a test. (Chapter 5, page 58)
- Infrastructure doesn’t please the customer; features do. (Chapter 30, page 472)
- Isolate the unknown
- It’s Chet’s fault. (Chapter 11, page 139)
- Keep the tests on green. (Chapter 17, page 213)
- Make it work; make it right; make it fast. (Chapter 17, page 215)
- Outer design should drive inner design, always. (Chapter 30, page 473)
- Programming without thinking...what good is that? (Chapter 30, page 473)
- Push a little when something seems too hard. (Chapter 17, page 216)
- Reflect on how things are going. (Chapter 30, page 469)
- Removing duplication is your friend. (Chapter 11, page 151)
- Solve what you know; leave the parts you don’t know for later. (Chapter 6, page 78)
- Some very simple refactoring...has done most of the job for us. (Chapter 22, page 268)
- Start a new path with something abysmally simple. (Chapter 4, page 45)
- The story’s not done until the customer tests run. (Chapter 6, page 72)
- Twenty lines without a successful test is a pretty big change! (Chapter 4, page 45)
- Two Hats. (Chapter 8, page 95)
- We don’t need a testing framework; we need tests. (Chapter 6, page 73)
- We start new features with large bold strokes. We’re intentionally building from rough toward smooth. (Chapter 4, page 47)
- What is the simplest thing that could possibly work? Do the simplest thing that could possibly work. (Chapter 28, page 408)
- YAGNI—You Aren’t Gonna Need It. (Chapter 14, page 192)
- Ron Jeffries
- About the Author
- Title: Extreme Programming Adventures in C#
- Release date: February 2004
- Publisher(s): Microsoft Press
- ISBN: 9780735619494
You might also like
C# and .NET Core Test Driven Development
About This Book Learn how to apply a test-driven development process by building ready C# 7 …
Smalltalk Best Practice Patterns
This classic book is the definitive real-world style guide for better Smalltalk programming. This author presents …
Python Crash Course, 2nd Edition
This is the second edition of the best selling Python book in the world. Python Crash …
Python for Data Analysis, 2nd Edition
Get complete instructions for manipulating, processing, cleaning, and crunching datasets in Python. Updated for Python 3.6, …