Programming Wisdom
A free, ad-free archive of programming wisdom from Linus Torvalds, Rich Hickey, Uncle Bob, Donald Knuth, Kent Beck, Alan Kay, John Carmack, Grace Hopper, and more. Click the card below for a random quote on software craft, or scroll for the full archive.
Click for wisdom
Common questions
Who wrote these programming quotes?
Software engineers, computer scientists, and authors ā Linus Torvalds, Rich Hickey, Robert C. Martin (Uncle Bob), Donald Knuth, Kent Beck, Martin Fowler, Alan Kay, John Carmack, Grace Hopper, Brian Kernighan, Sandi Metz, Dan Abramov, Kelsey Hightower, and books like the Pragmatic Programmer, Code Complete, the Gang of Four, and Domain-Driven Design. Each quote is attributed inline.
How are the quotes categorized?
Each quote is tagged: Complexity, Testing, Career, Code Quality, APIs, Frontend, Mindset, Debugging, or Performance. The category badge on the card tells you at a glance whether a quote is about architecture, refactoring, or career advice.
Are these quotes sourced?
Yes. Every quote is attributed to a named author and many link back to the original blog post, talk, paper, or book.
Is this free? Are there ads?
Free. No ads, no sign-up, no email gate. Static HTML hosted on GitHub Pages.
Can I browse the full archive?
Yes ā scroll past the card to see every quote on this page, grouped by author, with source links. The randomizer above is for serendipity; the archive below is for browsing.
Full archive of every quote on this page
This archive lists all 213 programming-wisdom quotes available on this page, grouped by author. Each quote is attributed; many link back to the original talk, blog post, or book.
Agile Manifesto (1)
-
Working software > comprehensive documentation.
— Agile Manifesto (Code Quality)
Alan Kay (5)
-
The best way to predict the future is to invent it.
— Alan Kay (Mindset) -
Simple things should be simple, complex things should be possible.
— Alan Kay (Code Quality) -
Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves.
— Alan Kay (Code Quality) -
The computer revolution hasn't started yet.
— Alan Kay (Mindset) -
Perspective is worth 80 IQ points.
— Alan Kay (Mindset)
Brian Kernighan (4)
-
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.
— Brian Kernighan (Debugging) -
Controlling complexity is the essence of computer programming.
— Brian Kernighan (Complexity) -
Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it?
— Brian Kernighan (Debugging) -
The most effective debugging tool is still careful thought, coupled with judiciously placed print statements.
— Brian Kernighan (Debugging)
Brian Kernighan (Unix Philosophy) (1)
-
Do one thing and do it well.
— Brian Kernighan (Unix Philosophy) (Code Quality)
Code Complete (8)
-
It's OK to figure out murder mysteries, but you shouldn't need to figure out code. You should be able to read it.
— Code Complete (Code Quality) -
Measuring programming progress by lines of code is like measuring aircraft building progress by weight.
— Code Complete (Code Quality) -
The Principle of Proximity: Keep related actions together.
— Code Complete (Code Quality) -
Managing complexity is the most important technical topic in software development.
— Code Complete (Complexity) -
Good code is its own best documentation. As you're about to add a comment, ask yourself, "How can I improve the code so that this comment isn't needed?"
— Code Complete (Code Quality) -
The cheapest and fastest way to find a defect is at the point when it is created.
— Code Complete (Debugging) -
A working program is not sufficient. It must be readable and understandable.
— Code Complete (Code Quality) -
When you start coding, the design should be as complete and as error-free as you can make it.
— Code Complete (Code Quality)
Common Wisdom (4)
-
Code should be written for humans first, computers second.
— Common Wisdom (Code Quality) -
Code comments should explain WHY, not WHAT. The code itself explains what.
— Common Wisdom (Code Quality) -
If you need to add a comment explaining your code, consider if the code could be clearer instead.
— Common Wisdom (Code Quality) -
Delete code > Write code > Refactor code.
— Common Wisdom (Code Quality)
Dan Abramov (5)
-
Things I don't know: many computer science concepts, algorithms, functional programming, assembly, etc. You don't need to know everything.
— Dan Abramov (Mindset) -
Don't compare your inside to someone else's outside.
— Dan Abramov (Mindset) -
The best way to learn something is to build something with it.
— Dan Abramov (Career) -
Every popular library started as someone's side project.
— Dan Abramov (Career) -
You don't need to know everything to be productive. Focus on what you need to solve the problem at hand.
— Dan Abramov (Mindset)
David Heinemeier Hansson (6)
-
Convention over configuration.
— David Heinemeier Hansson (Code Quality) -
Optimize for programmer happiness.
— David Heinemeier Hansson (Mindset) -
The best way to predict the future is to implement it.
— David Heinemeier Hansson (Career) -
You don't have to work 80 hours a week to build a successful business or create great software.
— David Heinemeier Hansson (Career) -
Fast software, the best software, is software that does less.
— David Heinemeier Hansson (Performance) -
The majestic monolith can do most things you want to do, and do it simpler.
— David Heinemeier Hansson (Code Quality)
Domain-Driven Design (6)
-
The heart of software is its ability to solve domain-related problems for its user.
— Domain-Driven Design (Code Quality) -
Model the domain, not the database.
— Domain-Driven Design (Code Quality) -
Use the language of the domain in your code. If you can't say it in the domain language, you probably shouldn't be building it.
— Domain-Driven Design (Code Quality) -
Make implicit concepts explicit.
— Domain-Driven Design (Code Quality) -
The ubiquitous language is the foundation of domain-driven design.
— Domain-Driven Design (Code Quality) -
Bounded contexts are a central pattern in DDD. They define the limits of a model and keep it internally consistent.
— Domain-Driven Design (Code Quality)
Donald Knuth (6)
-
Premature optimization is the root of all evil.
— Donald Knuth (Performance) -
Beware of bugs in the above code; I have only proved it correct, not tried it.
— Donald Knuth (Debugging) -
The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times.
— Donald Knuth (Performance) -
Let us change our traditional attitude to the construction of programs: Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do.
— Donald Knuth (Code Quality) -
Science is what we understand well enough to explain to a computer. Art is everything else we do.
— Donald Knuth (Code Quality) -
Programs are meant to be read by humans and only incidentally for computers to execute.
— Donald Knuth (Code Quality)
Douglas Hofstadter (1)
-
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
— Douglas Hofstadter (Career)
Drunk Sr Engineer (Reddit) (20)
-
Companies want to hire senior engineers but treat them like junior engineers.
— Drunk Sr Engineer (Reddit) (Career) -
Experience gets you a higher salary, not respect. You still have to earn respect.
— Drunk Sr Engineer (Reddit) (Career) -
The best way to get a raise is to switch jobs. Company loyalty is a one-way street.
— Drunk Sr Engineer (Reddit) (Career) -
Being right is not enough. You need to be persuasive.
— Drunk Sr Engineer (Reddit) (Career) -
Your manager is not your friend. They can be friendly, but their job is to make the company successful, not you.
— Drunk Sr Engineer (Reddit) (Career) -
Performance reviews are not about performance. They're about justifying your salary.
— Drunk Sr Engineer (Reddit) (Career) -
Nobody cares about your elegant solution. They care if it works and ships on time.
— Drunk Sr Engineer (Reddit) (Code Quality) -
The most valuable skill is knowing when to say "no" and when to say "yes."
— Drunk Sr Engineer (Reddit) (Career) -
Politics is part of the job. Learn it or suffer.
— Drunk Sr Engineer (Reddit) (Career) -
Your job will replace you in a week. Your family won't.
— Drunk Sr Engineer (Reddit) (Career) -
The code you wrote 6 months ago was written by a different person. Document everything.
— Drunk Sr Engineer (Reddit) (Code Quality) -
Production is the only environment that matters. Staging is a lie.
— Drunk Sr Engineer (Reddit) (Debugging) -
Never deploy on Friday unless you want to work the weekend.
— Drunk Sr Engineer (Reddit) (Career) -
Technical debt is like financial debt - a little is useful, too much will kill you.
— Drunk Sr Engineer (Reddit) (Code Quality) -
The best engineers are lazy. They automate everything and find the easiest solution.
— Drunk Sr Engineer (Reddit) (Mindset) -
Meetings are where productivity goes to die. Make them short or don't have them.
— Drunk Sr Engineer (Reddit) (Career) -
Your estimates will always be wrong. Double them, then add 20%.
— Drunk Sr Engineer (Reddit) (Career) -
The last 10% of any project takes 90% of the time.
— Drunk Sr Engineer (Reddit) (Career) -
Burnout is real and it sneaks up on you. Take your vacation days.
— Drunk Sr Engineer (Reddit) (Career) -
The person who wrote the terrible code you're fixing was probably doing their best at the time.
— Drunk Sr Engineer (Reddit) (Mindset)
Edward V. Berard (1)
-
Walking on water and developing software from a specification are easy if both are frozen.
— Edward V. Berard (Code Quality)
Gang of Four (6)
-
Program to an interface, not an implementation.
— Gang of Four (Code Quality) -
Favor object composition over class inheritance.
— Gang of Four (Code Quality) -
Design patterns are descriptions of communicating objects and classes that are customized to solve a general design problem in a particular context.
— Gang of Four (Code Quality) -
Consider what should be variable in your design. This approach is the opposite of focusing on what will cause redesign.
— Gang of Four (Code Quality) -
Encapsulate the concept that varies.
— Gang of Four (Code Quality) -
Design patterns help you choose design alternatives that make a system reusable and avoid alternatives that compromise reusability.
— Gang of Four (Code Quality)
Gordon Bell (1)
-
The cheapest, fastest, and most reliable components are those that aren't there.
— Gordon Bell (Complexity)
Grace Hopper (5)
-
It's easier to ask forgiveness than it is to get permission.
— Grace Hopper (Career) -
The most dangerous phrase in the language is: "We've always done it this way."
— Grace Hopper (Mindset) -
Humans are allergic to change. They love to say, "We've always done it this way." I try to fight that.
— Grace Hopper (Mindset) -
If it's a good idea, go ahead and do it. It's much easier to apologize than it is to get permission.
— Grace Hopper (Career) -
Leadership is a two-way street, loyalty up and loyalty down. Respect for one's superiors; care for one's crew.
— Grace Hopper (Career)
Grug Brain (50)
-
Complexity is the apex predator of developers. Complexity very, very bad.
— Grug Brain (Complexity) -
The best weapon against complexity is the magic word: "no".
— Grug Brain (Complexity) -
Don't factor your code too early. Wait for good cut-points to emerge naturally.
— Grug Brain (Complexity) -
Good cut points have narrow interfaces that trap complexity like a demon in a crystal.
— Grug Brain (Complexity) -
When in doubt, use the 80/20 rule: build 80% of the value with 20% of the code.
— Grug Brain (Complexity) -
Sometimes the best thing you can do is not tell the project manager and build the simple solution anyway.
— Grug Brain (Complexity) -
Write tests after the prototype phase when code has firmed up, not before you understand the domain.
— Grug Brain (Testing) -
Integration tests are the sweet spot: high-level enough to test correctness, low-level enough to debug easily.
— Grug Brain (Testing) -
Unit tests break as implementation changes. Don't get too attached to them.
— Grug Brain (Testing) -
End-to-end tests show the system works but drive you crazy when they break. Use sparingly.
— Grug Brain (Testing) -
"Test first" is fine, but "test along the way" works pretty well too.
— Grug Brain (Testing) -
"Yes" is the magic word for more shiny rocks and getting put in charge. "No" keeps you sane.
— Grug Brain (Career) -
Learn to say "no" early. It gets easier over time, even if the shiny rock pile isn't as high.
— Grug Brain (Career) -
How many shiny rocks does grug really need anyway?
— Grug Brain (Career) -
Senior developers should be willing to say publicly: "This is too complex for me." It gives juniors permission to admit confusion too.
— Grug Brain (Career) -
Fear Of Looking Dumb (FOLD) is a major source of the complexity demon's power. Take that power away.
— Grug Brain (Career) -
Big brain developers have big brain! Need only be harnessed for good.
— Grug Brain (Career) -
Call early versions "prototype". Sounds fancier to project manager.
— Grug Brain (Career) -
If senior dev says code is too complex and confuse, it ok for junior dev to admit too!
— Grug Brain (Code Quality) -
Recursive descent is the most fun and beautiful way to create a parser. Ignore parser generators.
— Grug Brain (Code Quality) -
Parser generator tools generate awful snakes nest code. Impossible to understand or debug.
— Grug Brain (Code Quality) -
Parsing is not big brain only magic. So can you!
— Grug Brain (Code Quality) -
Demand working demo tomorrow. Forces big brain to see reality on ground more quickly.
— Grug Brain (Code Quality) -
As all sane developers know: fear concurrency. Keep it simple with stateless handlers.
— Grug Brain (Code Quality) -
Good APIs don't make you think too much. Bad APIs require you to understand implementation details.
— Grug Brain (APIs) -
Layer your APIs: simple api for simple cases, complex API for complex cases.
— Grug Brain (APIs) -
Put common operations on the object itself, not hidden behind abstractions.
— Grug Brain (APIs) -
Nobody cares about your clever abstraction. They just want to filter a list.
— Grug Brain (APIs) -
Splitting front-end and back-end means you now have TWO complexity demon lairs.
— Grug Brain (Frontend) -
Front-end complexity demon is more powerful than back-end demon and has deep spiritual hold on entire industry.
— Grug Brain (Frontend) -
Not every website needs to be a SPA with GraphQL talking over HTTP.
— Grug Brain (Frontend) -
Keep it simple: HTML and minimal JavaScript. Avoid becoming an acolyte of the complexity demon.
— Grug Brain (Frontend) -
React is good for jobs, but you become an acolyte of complexity demon whether you like it or not.
— Grug Brain (Frontend) -
Lots of fads in front-end development. Take revolutionary new approaches with grain of salt.
— Grug Brain (Frontend) -
Nobody is an impostor if everybody is an impostor. It's the nature of programming.
— Grug Brain (Mindset) -
Grug is always in one of two states: ruler of all survey OR no idea what doing. Mostly the latter.
— Grug Brain (Mindset) -
Even experienced developers feel like impostors. You'll do fine anyway.
— Grug Brain (Mindset) -
Make thinking face and look big-brained when admitting confusion. Then use sense of humor.
— Grug Brain (Mindset) -
Be strong! No Fear Of Looking Dumb!
— Grug Brain (Mindset) -
Club not work on complexity demon. Also bad idea to hit developer who let spirit in, sometimes yourself!
— Grug Brain (Mindset) -
Logging is more important than most developers think. Should be taught more in schools.
— Grug Brain (Debugging) -
Print statements are better debugger than actual debugger 80% of the time.
— Grug Brain (Debugging) -
Make log level dynamically controlled. Even better: make it per-user.
— Grug Brain (Debugging) -
Include request ID in all logs if request spans multiple machines.
— Grug Brain (Debugging) -
Worth investing time in getting logging infrastructure "just right". Pays off big later.
— Grug Brain (Debugging) -
Debugger is good for when code not even run. Otherwise log statements usually better.
— Grug Brain (Debugging) -
Always have concrete, real-world perf profile before optimizing. You'll often be surprised!
— Grug Brain (Performance) -
Don't only focus on CPU. Network hits cost millions of CPU cycles.
— Grug Brain (Performance) -
Inexperienced devs see nested loops and panic about O(n²). Complexity demon smiles.
— Grug Brain (Performance) -
Minimize network calls if possible. Much bigger impact than that nested loop you're worried about.
— Grug Brain (Performance)
Jessica Kerr (5)
-
The goal of software is not working software. The goal is to solve problems.
— Jessica Kerr (Mindset) -
Software development is a learning process. Working code is a side effect.
— Jessica Kerr (Mindset) -
The system is not the code. The system is the people plus the code plus the runtime environment plus the deployment plus everything.
— Jessica Kerr (Code Quality) -
Symmathesy: learning together. Teams that learn together, succeed together.
— Jessica Kerr (Career) -
When you automate something, you don't eliminate the work. You change where it happens.
— Jessica Kerr (Code Quality)
John Carmack (5)
-
Focused, hard work is the real key to success. Keep your eyes on the goal, and just keep taking the next step towards completing it.
— John Carmack (Career) -
The cost of adding a feature isn't just the time it takes to code it. The cost also includes the addition of an obstacle to future expansion.
— John Carmack (Complexity) -
It is not that uncommon for the cost of an abstraction to outweigh the benefit it delivers.
— John Carmack (Complexity) -
Low-level programming is good for the programmer's soul.
— John Carmack (Code Quality) -
If you aren't sure how something should work, code it both ways and see which is better.
— John Carmack (Code Quality)
John Johnson (1)
-
First, solve the problem. Then, write the code.
— John Johnson (Code Quality)
Kelsey Hightower (5)
-
Sometimes the best way to solve a problem is to stop participating in the problem.
— Kelsey Hightower (Mindset) -
Configuration is code. Treat it like code.
— Kelsey Hightower (Code Quality) -
The best place to store secrets is in your head. The second best place is a secrets manager.
— Kelsey Hightower (Code Quality) -
Kubernetes is a platform for building platforms. It's a better place to start, not the endgame.
— Kelsey Hightower (Code Quality) -
If you can't explain something simply, you don't understand it well enough.
— Kelsey Hightower (Mindset)
Kent Beck (6)
-
Make it work. Make it right. Make it fast. In that order.
— Kent Beck (Code Quality) -
I'm not a great programmer; I'm just a good programmer with great habits.
— Kent Beck (Mindset) -
Optimism is an occupational hazard of programming: feedback is the treatment.
— Kent Beck (Mindset) -
For each desired change, make the change easy (warning: this may be hard), then make the easy change.
— Kent Beck (Code Quality) -
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
— Kent Beck (Code Quality) -
I'm not a great programmer, I'm just a good programmer with great habits.
— Kent Beck (Career)
Linus Torvalds (6)
-
Talk is cheap. Show me the code.
— Linus Torvalds (Code Quality) -
Bad programmers worry about the code. Good programmers worry about data structures and their relationships.
— Linus Torvalds (Code Quality) -
Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program.
— Linus Torvalds (Mindset) -
I'm a huge proponent of designing your code around the data, rather than the other way around.
— Linus Torvalds (Code Quality) -
If you need more than 3 levels of indentation, you're screwed anyway, and should fix your program.
— Linus Torvalds (Code Quality) -
Intelligence is the ability to avoid doing work, yet getting the work done.
— Linus Torvalds (Mindset)
Martin Fowler (6)
-
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
— Martin Fowler (Code Quality) -
When you feel the need to write a comment, first try to refactor the code so that any comment becomes superfluous.
— Martin Fowler (Code Quality) -
I'm not a great programmer; I'm just a good programmer with great habits.
— Martin Fowler (Career) -
Before you start refactoring, check that you have a solid suite of tests. These tests must be self-checking.
— Martin Fowler (Testing) -
Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior.
— Martin Fowler (Code Quality) -
The true test of good code is how easy it is to change it.
— Martin Fowler (Code Quality)
Phil Karlton (1)
-
There are only two hard things in Computer Science: cache invalidation and naming things.
— Phil Karlton (Code Quality)
Reid Hoffman (1)
-
If you're not embarrassed by your first release, you waited too long.
— Reid Hoffman (Code Quality)
Rich Hickey (6)
-
Simple is not easy. Simple means one thing, not multiple things braided together.
— Rich Hickey (Complexity) -
Programmers know the benefits of everything and the tradeoffs of nothing.
— Rich Hickey (Mindset) -
We can make the same exact software we are making today with dramatically less complexity.
— Rich Hickey (Complexity) -
Simplicity is prerequisite for reliability.
— Rich Hickey (Complexity) -
If you want everything to be familiar, you will never learn anything new.
— Rich Hickey (Mindset) -
State is never simple. It is the new spaghetti code.
— Rich Hickey (Code Quality)
Richard Stallman (5)
-
Free software is a matter of liberty, not price. To understand the concept, you should think of "free" as in "free speech," not as in "free beer."
— Richard Stallman (Mindset) -
Sharing is good, and with digital technology, sharing is easy.
— Richard Stallman (Mindset) -
Software is like sex: it's better when it's free.
— Richard Stallman (Mindset) -
If programmers deserve to be rewarded for creating innovative programs, by the same token they deserve to be punished if they restrict the use of these programs.
— Richard Stallman (Mindset) -
Proprietary software keeps users divided and helpless.
— Richard Stallman (Mindset)
Robert C. Martin (12)
-
Clean code is simple and direct. Clean code reads like well-written prose.
— Robert C. Martin (Code Quality) -
The ratio of time spent reading versus writing is well over 10 to 1. We are constantly reading old code as part of the effort to write new code.
— Robert C. Martin (Code Quality) -
Truth can only be found in one place: the code.
— Robert C. Martin (Code Quality) -
You should name a variable using the same care with which you name a first-born child.
— Robert C. Martin (Code Quality) -
A long descriptive name is better than a short enigmatic name. A long descriptive name is better than a long descriptive comment.
— Robert C. Martin (Code Quality) -
Functions should do one thing. They should do it well. They should do it only.
— Robert C. Martin (Code Quality) -
The first rule of functions is that they should be small. The second rule of functions is that they should be smaller than that.
— Robert C. Martin (Code Quality) -
Master programmers think of systems as stories to be told rather than programs to be written.
— Robert C. Martin (Code Quality) -
Indeed, the ratio of time spent reading versus writing is well over 10 to 1. We are constantly reading old code.
— Robert C. Martin (Code Quality) -
It is not enough for code to work.
— Robert C. Martin (Code Quality) -
Professional developers are responsible for their own career, and for their own skills.
— Robert C. Martin (Career) -
Test code is just as important as production code. It is not a second-class citizen.
— Robert C. Martin (Testing)
Sandi Metz (6)
-
Duplication is far cheaper than the wrong abstraction.
— Sandi Metz (Code Quality) -
Prefer duplication over the wrong abstraction.
— Sandi Metz (Code Quality) -
The trick to getting the most value from an abstraction is to recognize when you have the wrong one.
— Sandi Metz (Code Quality) -
Your code should be SOLID: Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion.
— Sandi Metz (Code Quality) -
Make the change easy, then make the easy change.
— Sandi Metz (Code Quality) -
The code you write should be transparent, reasonable, usable, and exemplary (TRUE).
— Sandi Metz (Code Quality)
The Pragmatic Programmer (12)
-
Don't live with broken windows. Fix bad designs, wrong decisions, and poor code when you see them.
— The Pragmatic Programmer (Code Quality) -
DRY: Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.
— The Pragmatic Programmer (Code Quality) -
Good design is easier to change than bad design.
— The Pragmatic Programmer (Code Quality) -
There are no final decisions. Be ready to change course.
— The Pragmatic Programmer (Mindset) -
Prototype to learn. Prototyping is a learning experience. Its value lies not in the code produced, but in the lessons learned.
— The Pragmatic Programmer (Code Quality) -
Estimate to avoid surprises. Iterate the schedule with the code.
— The Pragmatic Programmer (Career) -
You can't write perfect software. Accept it as an axiom of life.
— The Pragmatic Programmer (Mindset) -
Design with contracts. Use assertions to prevent the impossible.
— The Pragmatic Programmer (Code Quality) -
Crash early. A dead program normally does a lot less damage than a crippled one.
— The Pragmatic Programmer (Debugging) -
Use exceptions for exceptional problems. Exceptions can suffer from all the readability and maintainability problems of classic spaghetti code.
— The Pragmatic Programmer (Code Quality) -
Don't program by coincidence. Rely only on reliable things. Beware of accidental complexity.
— The Pragmatic Programmer (Code Quality) -
Test your software, or your users will.
— The Pragmatic Programmer (Testing)
Working Effectively with Legacy Code (6)
-
Legacy code is code without tests.
— Working Effectively with Legacy Code (Testing) -
The best time to refactor is before you need to add a new feature.
— Working Effectively with Legacy Code (Code Quality) -
When you break dependencies in legacy code, you often have to suspend your sense of aesthetics a bit.
— Working Effectively with Legacy Code (Code Quality) -
To me, legacy code is simply code without tests.
— Working Effectively with Legacy Code (Testing) -
The key to working effectively with legacy code is to understand what you need to change, and to understand the risks involved.
— Working Effectively with Legacy Code (Code Quality) -
If you want to make a change, you need to be able to understand the code first.
— Working Effectively with Legacy Code (Code Quality)
Programming wisdom, software engineering quotes, programmer quotes, coding quotes, developer quotes, software craft quotes, software design quotes, complexity quotes, simple made easy, grug brain developer, pragmatic programmer quotes, clean code quotes, refactoring quotes, legacy code quotes, code complete quotes, gang of four quotes, design patterns quotes, domain-driven design quotes, Linus Torvalds talk is cheap show me the code, Linus Torvalds bad programmers worry about the code, Rich Hickey simple made easy, Rich Hickey hammock driven development, Uncle Bob clean code, Robert C Martin SOLID, Donald Knuth premature optimization is the root of all evil, Kent Beck test-driven development, Martin Fowler refactoring, Alan Kay people who are really serious about software should make their own hardware, John Carmack focus is a matter of deciding what things you're not going to do, Grace Hopper the most dangerous phrase is we've always done it that way, Brian Kernighan debugging is twice as hard as writing the code, Sandi Metz the wrong abstraction, DHH HEY David Heinemeier Hansson, Dan Abramov Overreacted, Kelsey Hightower Kubernetes. Common misspellings: Linus Torvalds quotes, Linux Torvalds quotes, Rich Hicky quotes, Uncle Bobs quotes, Robert Martin quotes, Don Knuth quotes, Knut quotes, Kent Becks quotes, Allan Kay quotes, John Carmac quotes, Grace Hoper quotes.