97 Things Every Programmer Should Know - Extended
With Membership
Suggested price

97 Things Every Programmer Should Know - Extended

About the Book

Welcome to the extended version of 97 Things Every Programmer Should Know - Collective Wisdom from the Experts.

97 Things Every Programmer Should Know (http://programmer.97things.oreilly.com) site contains amazing collection of essays about programming practices. Kevlin Henney has created a nice book "97 Things Every Programmer Should Know" of the selected 97 essays.

This books is a collection of additional 68 essays available at the site but doesn't appear in Kevlin's book.

The text in the book is taken from site **as is**. If you find any typographic error, please let us know and/or go ahead and update the original site.

About the Editor

Shirish Padalkar
Shirish Padalkar

I loved computers since I got introduced to computers in my school days. Started programming with QBasic, used WS4, Lotus-123, DOS and Windows 3.1.

Programming has been my passion. I work at ThoughtWorks and code for living. I love Java, Ruby, and I can read Python code. I had small time affairs with Haskell, LISP and Prolog as well.

Besides programming I like to find and report vulnerabilities in web applications.

I enjoy playing Tabla and love listening to Indian classical music.

Table of Contents

  • Preface
    • Permissions
    • About
    • Acknowledgement
  • Abstract Data Types
  • Acknowledge (and Learn from) Failures
  • Anomalies Should not Be Ignored
  • Avoid Programmer Churn and Bottlenecks
  • Balance Duplication, Disruption, and Paralysis
  • Be Stupid and Lazy
  • Become Effective with Reuse
  • Better Efficiency with Mini-Activities, Multi-Processing, and Interrupted Flow
  • Code Is Hard to Read
  • Consider the Hardware
  • Continuous Refactoring
  • Continuously Align Software to Be Reusable
  • Data Type Tips
  • Declarative over Imperative
  • Decouple that UI
  • Display Courage, Commitment, and Humility
  • Dive into Programming
  • Don’t Be a One Trick Pony
  • Don’t Be too Sophisticated
  • Don’t Reinvent the Wheel
  • Don’t Use too Much Magic
  • Done Means Value
  • Execution Speed versus Maintenance Effort
  • Expect the Unexpected
  • First Write, Second Copy, Third Refactor
  • From Requirements to Tables to Code and Tests
  • How to Access Patterns
  • Implicit Dependencies Are also Dependencies
  • Improved Testability Leads to Better Design
  • In the End, It’s All Communication
  • Integrate Early and Often
  • Interfaces Should Reveal Intention
  • Isolate to Eliminate
  • Keep Your Architect Busy
  • Know When to Fail
  • Know Your Language
  • Learn the Platform
  • Learn to Use a Real Editor
  • Leave It in a Better State
  • Methods Matter
  • The Programmer’s New Clothes
  • Programmers Are Mini-Project Managers
  • Programmers Who Write Tests Get More Time to Program
  • Push Your Limits
  • QA Team Member as an Equal
  • Reap What You Sow
  • Respect the Software Release Process
  • Restrict Mutability of State
  • Reuse Implies Coupling
  • Scoping Methods
  • Simple Is not Simplistic
  • Small!
  • Soft Skills Matter
  • Speed Kills
  • Structure over Function
  • Talk about the Trade-offs
  • There Is Always Something More to Learn
  • There Is No Right or Wrong
  • There Is No Such Thing as Self-Documenting Code
  • The Three Laws of Test-Driven Development
  • Understand Principles behind Practices
  • Use Aggregate Objects to Reduce Coupling
  • Use the Same Tools in a Team
  • Using Design Patterns to Build Reusable Software
  • Who Will Test the Tests Themselves?
  • Work with a Star and Get Rid of the Truck Factor
  • Write a Test that Prints PASSED
  • Write Code for Humans not Machines

Causes Supported

Electronic Frontier Foundation

Defending your civil liberties in a digital world.

Based in San Francisco, EFF is a donor-supported membership organization working to protect fundamental rights regardless of technology.

From the Internet to the iPod, technologies are transforming our society and empowering us as speakers, citizens, creators, and consumers. When our freedoms in the networked world come under attack, the Electronic Frontier Foundation (EFF) is the first line of defense. EFF broke new ground when it was founded in 1990—well before the Internet was on most people's radar—and continues to confront cutting-edge issues defending free speech, privacy, innovation, and consumer rights today. From the beginning, EFF has championed the public interest in every critical battle affecting digital rights.

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub