“When you find you have to add a feature to a program, and the program's code is not structured in a convenient way to add the feature, first refactor the program to make it easy to add the feature, then add the feature.”

—  Kent Beck

Source: Refactoring: Improving the Design of Existing Code, 1999, p. 7

Adopted from Wikiquote. Last update June 3, 2021. History

Help us to complete the source, original and additional information

Do you have more details about the quote "When you find you have to add a feature to a program, and the program's code is not structured in a convenient way to a…" by Kent Beck?
Kent Beck photo
Kent Beck 13
software engineer 1961

Related quotes

Martin Fowler photo
Ward Cunningham photo

“Putting a new feature into a program is important, but refactoring so new features can be added in the future is equally important.”

Ward Cunningham (1949) American computer programmer who developed the first wiki

Crucible of Creativity (2005)
Context: Putting a new feature into a program is important, but refactoring so new features can be added in the future is equally important. The ability to do things in the future is something that I consider suppleness, like clay your hands that accepts your expression. Programs and documents get brittle very quickly. Wiki imagines a more dynamic environment where we accept change...

Bill Gates photo
Bill Gates photo
John Moffat photo
Larry Wall photo

“If you remove stricture from a large Perl program currently, you're just installing delayed bugs, whereas with this feature, you're installing an instant bug that's easily fixed. Whoopee.”

Larry Wall (1954) American computer programmer and author, creator of Perl

[199710050130.SAA04762@wall.org, 1997]
Usenet postings, 1997

Nelson Mandela photo
Bjarne Stroustrup photo

“The connection between the language in which we think/program and the problems and solutions we can imagine is very close. For this reason restricting language features with the intent of eliminating programmer errors is at best dangerous.”

Bjarne Stroustrup (1950) Danish computer scientist, creator of C++

Bjarne Stroustrup's The C++ Programming Language (Third Edition and Special Edition) Notes to the Reader page 9, 2012-04-28, http://web.archive.org/web/20091128074415/http://www2.research.att.com/~bs/3rd_notes.pdf#page=7, 2009-11-28 http://www2.research.att.com/~bs/3rd_notes.pdf#page=7,

“Cells of all kinds share certain structural features.”

Albert L. Lehninger (1917–1986) American biochemist

Principles of Biochemistry, Ch. 1 : The Foundations of Biochemistry

Richard Stallman photo

“You see, some people have a talent for programming. At ten to thirteen years old, typically, they're fascinated, and if they use a program, they want to know: “How does it do this?” But when they ask the teacher, if it's proprietary, the teacher has to say: “I'm sorry, it's a secret, we can't find out.” Which means education is forbidden. A proprietary program is the enemy of the spirit of education. It's knowledge withheld, so it should not be tolerated in a school, even though there may be plenty of people in the school who don't care about programming, don't want to learn this. Still, because it's the enemy of the spirit of education, it shouldn't be there in the school.
But if the program is free, the teacher can explain what he knows, and then give out copies of the source code, saying: “Read it and you'll understand everything.” And those who are really fascinated, they will read it! And this gives them an opportunity to start to learn how to be good programmers.
To learn to be a good programmer, you'll need to recognize that certain ways of writing code, even if they make sense to you and they are correct, they're not good because other people will have trouble understanding them. Good code is clear code that others will have an easy time working on when they need to make further changes.
How do you learn to write good clear code? You do it by reading lots of code, and writing lots of code. Well, only free software offers the chance to read the code of large programs that we really use. And then you have to write lots of code, which means you have to write changes in large programs.
How do you learn to write good code for the large programs? You have to start small, which does not mean small program, oh no! The challenges of the code for large programs don't even begin to appear in small programs. So the way you start small at writing code for large programs is by writing small changes in large programs. And only free software gives you the chance to do that.”

Richard Stallman (1953) American software freedom activist, short story writer and computer programmer, founder of the GNU project

A Free Digital Society - What Makes Digital Inclusion Good or Bad? http://www.gnu.org/philosophy/free-digital-society.html#education; Lecture at Sciences Po in Paris (19 October 2011)]
2010s

Related topics