Tag Archives: programmer

Article: When Software Smells Bad

Kevin Rutherford and I wrote this article for Better Software magazine; it was the cover article in the July/August 20122 issue. It demonstrates refactoring in Ruby, using a basic "todo" list application.  "When Software Smells Bad" (PDF), by Bill Wake … Continue reading

Tagged , ,

Review: Structured Programming (Dahl, Dijkstra, and Hoare)

Structured Programming, by O.-J. Dahl, E.W. Dijkstra, and C.A.R. Hoare. Academic Press, 1972.  This year (2012) is the 40th anniversary of this text, but it holds up well. It consists of three essays: "Notes on Structured Programming" by E.W. Dijkstra … Continue reading

Tagged , , ,

3A – Arrange, Act, Assert

Some unit tests are focused, other are like a run-on sentence. How can we create tests that are focused and communicate well? What's a good structure for a unit test? 3A: Arrange, Act, Assert We want to test the behavior … Continue reading

Tagged , , , ,

Review – Pragmatic Guide to Git (Swicegood)

Pragmatic Guide to Git, by Travis Swicegood. Pragmatic Bookshelf, 2010.   I'm using git for the first time on a small project with a friend, and wanted a quick focused handbook to help with that. This book fills that bill. … Continue reading

Tagged , ,

Review – Beginning iPhone 3 Development

Beginning iPhone 3 Development: Exploring the iPhone SDK, by Dave Mark and Jeff LaMarche. Apress 2009. I'm a former NeXT programmer who hasn't programmed the Mac since before Apple pulled in the NeXT development kit. The iPhone environment looks very … Continue reading

Tagged , ,

Tests from a Hat

How does the order of tests affect the design of software? A game to explore that idea. Continue reading

Tagged , , , ,

Review – Growing Object-Oriented Software, Guided by Tests

Growing Object-Oriented Software, Guided by Tests, by Steve Freeman and Nat Pryce, ISBN 0-321-50362-7   Freeman and Pryce explain Test-Driven Development through an extended example. (They have a somewhat different perspective than I do, with much heavier use of mock objects. … Continue reading

Tagged , , , ,

Review – Structured Design

Structured Design. Edward Yourdon and Larry L. Constantine. Prentice-Hall, 1979. This was one of the early structured "standard works" that I've only just gotten to for the first time. I'd learned things like coupling and cohesion, afferent and efferent flows, … Continue reading

Tagged , , , ,

Refactoring in Ruby – InformIT Interview

Interview with Bill Wake and Kevin Rutherford, the authors of Refactoring in Ruby. Continue reading

Tagged , ,

Review – Exploring Requirements

Exploring Requirements: Quality Before Design, Donald C. Gause and Gerald M. Weinberg. 1989, Dorset House.This book is an exploration not just of gathering requirements, including the challenges of ambiguity. The authors describe how to clarify expectations by using functions, attributes, constraints, … Continue reading

Tagged , , ,

Programming Language Puzzle

A word-stack puzzle on programming languages. Continue reading

Tagged ,

Review – Clean Code

Clean Code, Bob Martin, Prentice-Hall, 2008. Bob Martin tackles the challenges of making code sparkling clean. He provides numerous guidelines, and demonstrates their utility in action. I particularly appreciated some of the longer examples where he really works them over. … Continue reading

Tagged , , ,

Review – Current Trends in Programming Methodology, Vol. 4: Data Structuring

Current Trends in Programming Methodology, Volume 4: Data Structuring, Raymond T. Yeh, editor. Prentice-Hall, 1978. In parallel with "structured programming," (which often focused on code structure), there was more esoteric work done on "structured data." A lot of this found … Continue reading

Tagged , , , ,

Sudoku Solver

Sudoku is a fairly well-known type of puzzle. Solving it turns out to be easier than I expected, but a somewhat odd example of test-driven development. Continue reading

Tagged , ,

Design Patterns in Java – Sample Chapter – Adapter

Sample chapter – Adapter. Continue reading

Tagged , , , , ,