Tidy First?: A Personal Exercise in Empirical Software Design
Paperback
Publisher Price: $39.99
ISBN13: 9781098151249
Publisher: O'Reilly Media
Published: Nov 28 2023
Pages: 122
Weight: 0.45
Height: 0.30 Width: 6.90 Depth: 9.00
Language: English
Messy code is a nuisance. Tidying code, to make it more readable, requires breaking it up into manageable sections. In this practical guide, author Kent Beck, creator of Extreme Programming and pioneer of software patterns, suggests when and where you might apply tidyings to improve your code while keeping the overall structure of the system in mind.
Instead of trying to master tidying all at once, this book lets you try out a few examples that make sense for your problem. If you have a big function containing many lines of code, you'll learn how to logically divide it into smaller chunks. Along the way, you'll learn the theory behind software design: coupling, cohesion, discounted cash flows, and optionality.
This book helps you:
- Understand the basic theory of how software design works and the forces that act on it
- Explore the difference between changes to a system's behavior and changes to its structure
- Improve your programming experience by sometimes tidying first and sometimes tidying after
- Learn how to make large changes in small, safe steps
- Approach software design as an exercise in human relationships
Also from
Beck, Kent
Also in
Programming
The Legend of Zelda(tm) Tears of the Kingdom - The Complete Official Guide: Collector's Edition
Piggyback
Hardcover
Cracking the Coding Interview: 189 Programming Questions and Solutions
McDowell, Gayle Laakmann
Paperback
The Legend of Zelda(tm) Tears of the Kingdom - The Complete Official Guide: Standard Edition
Piggyback
Paperback
Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming
Matthes, Eric
Paperback
Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations
Kim, Gene
Forsgren Phd, Nicole
Humble, Jez
Paperback
SQL QuickStart Guide: The Simplified Beginner's Guide to Managing, Analyzing, and Manipulating Data With SQL
Shields, Walter
Hardcover
Video Game of the Year: A Year-By-Year Guide to the Best, Boldest, and Most Bizarre Games from Every Year Since 1977
Minor, Jordan
Paperback
The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change
Fournier, Camille
Paperback
The DevOps Handbook: How to Create World-Class Agility, Reliability, & Security in Technology Organizations
Kim, Gene
Humble, Jez
Debois, Patrick
Paperback
JavaScript Crash Course: A Hands-On, Project-Based Introduction to Programming
Morgan, Nick
Paperback
The Pragmatic Programmer: Your Journey to Mastery, 20th Anniversary Edition
Thomas, David
Hunt, Andrew
Hardcover
Embedded Systems with ARM Cortex-M Microcontrollers in Assembly Language and C: Fourth Edition
Zhu, Yifeng
Paperback
The Staff Engineer's Path: A Guide for Individual Contributors Navigating Growth and Change
Reilly, Tanya
Paperback
Make: Electronics: Learning by Discovery: A Hands-On Primer for the New Electronics Enthusiast
Platt, Charles
Paperback
Python Basics: A Practical Introduction to Python 3
Heisler, Fletcher
Bader, Dan
Jablonski, Joanna
Paperback
Automate the Boring Stuff with Python, 2nd Edition: Practical Programming for Total Beginners
Sweigart, Al
Paperback
Unicorn Coloring Book: For Kids Ages 4-8 - 100 coloring pages, 8.5 x 11 inches
Creative Journals, Zone365
Paperback
Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software
Robson, Elisabeth
Freeman, Eric
Paperback
This Is Service Design Doing: Applying Service Design Thinking in the Real World
Stickdorn, Marc
Lawrence, Adam
Hormess, Markus
Paperback
Spies, Lies, and Algorithms: The History and Future of American Intelligence
Zegart, Amy B.
Paperback
Electronic Music and Sound Design - Theory and Practice with Max 8 - Volume 1 (Fourth Edition)
Giri, Maurizio
Cipriani, Alessandro
Paperback
Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures
Ford, Neal
Richards, Mark
Sadalage, Pramod
Paperback
Learning Web Design: A Beginner's Guide to Html, Css, Javascript, and Web Graphics
Robbins, Jennifer
Paperback
Linux Basics for Hackers: Getting Started with Networking, Scripting, and Security in Kali
Occupytheweb
Paperback
The Art of SEO: Mastering Search Engine Optimization
Spencer, Stephan
Enge, Eric
Stricchiola, Jessie
Paperback
Python Playground, 2nd Edition: Geeky Projects for the Curious Programmer
Venkitachalam, Mahesh
Paperback
Living a Jewish Life, Revised and Updated: Jewish Traditions, Customs, and Values for Today's Families
Diamant, Anita
Cooper, Howard
Paperback
Electronic Music and Sound Design - Theory and Practice with Max 8 - volume 3
Giri, Maurizio
Cipriani, Alessandro
Paperback
The Official Raspberry Pi Handbook 2024: Astounding Projects with Raspberry Pi Computers
Makers of the Magpi Magazine, The
Paperback
Concrete Mathematics: A Foundation for Computer Science
Patashnik, Oren
Knuth, Donald
Graham, Ronald
Hardcover
Dark Souls: Beyond the Grave Volume 1: Demon's Souls -- Dark Souls -- Dark Souls II
Romieu, Sylvain
Mecheri, Damien
Hardcover
Software Supply Chain Security: Securing the End-To-End Supply Chain for Software, Firmware, and Hardware
Crossley, Cassie
Paperback
Adobe Photoshop, 2nd Edition: A Complete Course and Compendium of Features
Laskevitch, Stephen
Paperback
How Do I Do That in Photoshop?: The Quickest Ways to Do the Things You Want to Do, Right Now! (2nd Edition)
Kelby, Scott
Paperback
Learning Domain-Driven Design: Aligning Software Architecture and Business Strategy
Khononov, Vlad
Paperback
The Book of Satoshi: The Collected Writings of Bitcoin Creator Satoshi Nakamoto
Champagne, Phil
Hardcover
Computer Science Distilled: Learn the Art of Solving Computational Problems
Ferreira Filho, Wladston
Paperback
Javascript: The Definitive Guide: Master the World's Most-Used Programming Language
Flanagan, David
Paperback
PostgreSQL Query Optimization: The Ultimate Guide to Building Efficient Queries
Bailliekova, Anna
Database Expert
Dombrovskaya, Henrietta
Paperback
Dark Souls: Beyond the Grave Volume 2: Bloodborne €" Dark Souls III
Romieu, Sylvain
Mecheri, Damien
Hardcover
Football Analytics with Python & R: Learning Data Science Through the Lens of Sports
Eager, Eric
Erickson, Richard
Paperback
Practical Programming: An Introduction to Computer Science Using Python 3.6
Campbell, Jennifer
Montojo, Jason
Gries, Paul
Paperback
Web Programming with HTML, CSS, Bootstrap, JavaScript, React.JS, PHP, and MySQL Third Edition
Sanchez, Larry
Paperback
Programming Rust: Fast, Safe Systems Development
Blandy, Jim
Orendorff, Jason
Tindall, Leonora
Paperback
Electronic Music and Sound Design - Theory and Practice with Max 8 - Volume 2 (Third Edition)
Cipriani, Alessandro
Giri, Maurizio
Paperback
Fundamentals of Data Visualization: A Primer on Making Informative and Compelling Figures
Wilke, Claus
Paperback
SQL Cookbook: Query Solutions and Techniques for All SQL Users
de Graaf, Robert
Molinaro, Anthony
Paperback
Software Engineering at Google: Lessons Learned from Programming Over Time
Wright, Hyrum
Winters, Titus
Manshreck, Tom
Paperback
Universal Principles of UX: 100 Timeless Strategies to Create Positive Interactions Between People and Technology
Pereyra, Irene
Hardcover
Learn OpenGL: Learn modern OpenGL graphics programming in a step-by-step fashion.
de Vries, Joey
Paperback
Absolute Beginner's Guide to Algorithms: A Practical Introduction to Data Structures and Algorithms in JavaScript
Chinnathambi, Kirupa
Paperback
Developing Apps with GPT-4 and ChatGPT: Build Intelligent Chatbots, Content Generators, and More
Caelen, Olivier
Blete, Marie-Alice
Paperback
Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers
Maccormick, John
Paperback
Azure Data Factory by Example: Practical Implementation for Data Engineers
Swinbank, Richard
Paperback
Pro C# 10 with .Net 6: Foundational Principles and Practices in Programming
Japikse, Phil
Troelsen, Andrew
Paperback
The Complete Developer: Master the Full Stack with Typescript, React, Next.Js, Mongodb, and Docker
Krause, Martin
Paperback
Project to Product: How to Survive and Thrive in the Age of Digital Disruption with the Flow Framework
Kersten, Mik
Paperback
Quick Start Guide to Large Language Models: Strategies and Best Practices for Using ChatGPT and Other Llms
Ozdemir, Sinan
Paperback
Design Patterns: Elements of Reusable Object-Oriented Software
Helm, Richard
Johnson, Ralph
Gamma, Erich
Hardcover
Simple SysML for Beginners: Using CATIA No Magic Products
Hetherington, David
Casse, Olivier
Braun, Frank
Paperback
Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation
Humble, Jez
Farley, David
Hardcover
Leading Quality: How Great Leaders Deliver High Quality Software and Accelerate Growth
Peer, Owais
Cummings -. John, Ronald
Paperback
DevOps Patterns for Private Equity: Technology organization strategies for high performing software investments
Mangot, Dave
Paperback