Software Design

aposd-vs-clean-code/README.md at main ยท johnousterhout/aposd-vs-clean-code

A detailed discussion between Robert Martin and John Ousterhout explores their differing views on software design principles, focusing on method length, comments, and Test-Driven Development (TDD). While they agree on fundamental goals like code readability and maintainability, they disagree significantly on implementation approaches and best practices.

the sudoku affair

A comparative analysis of two different approaches to building a Sudoku solver highlights how Peter Norvig's constraint propagation solution proved more effective than Ron Jeffries' incremental design approach. The core difference lay in their data representations - Norvig used a map of possible moves while Jeffries used a list mimicking the visual board, demonstrating how fundamental design choices impact solution elegance and extensibility.