I'm 72. As for what I have shipped over the half-century of my career, you can read all about that in part two of my book We, Programmers. Suffice it to say I've shipped a LOT of code.
You should be baffled, because I never presented that as a hard and fast rule.
Actually, I presented that figure as an example of just how difficult that problem was to understand, and how (on a bike ride) I was finally able to visualize what was going on. The ascii image was presented a bit…
Ah, yes. The famous Sudoku solver controversy. In 2006 Ron Jeffries wrote four blogs about solving Sudoku in Ruby with TDD. His blogging effort ended before he completed the solution. I think he got interested in…
Yet another dunker. Oh well.
Muahahahaha!
Well, that's not the _only_ reason. ;-)
:-)
Who does that? Who uses guard rails like that? Accountants.
It's the CEO's job to demand the impossible. It's the engineer's job to deal with reality. When the engineer tells the CEO that the impossible is possible, the engineer has forsaken his/her responsibilities.
Type systems do not force programmers to be disciplined. Type systems tempt programmers to cheat.
I have never told people that they must have 100% test coverage. Indeed, I tell them that 100% test coverage is impossible. What you are referring to is a statement I frequently make -- 100% coverage is the goal. It's…
That was cool!
There's nothing wrong with tools. I like tools. I use them all the time. I want better ones. I also want programmers to be able to use those tools well. Finally, I look at a lot of crap code written by programmers who…
I use that style, from time to time, because I like it. ;-)
Only if you design your tests that way. Tests are just software. If a change to one part of a software system requires massive changes to another part of that same system; then the system is poorly designed. Indeed,…
If you don't want to use TDD, then that's fine. But make sure that you are not doing TDD for the right reasons. The reasons to not to TDD are: 1. You don't care about the quality of your product. 2. You don't care about…
Just to be clear, the name "Uncle Bob" was given to me by a coworker in 1989. It was in my email and uunet signature for years. (There are kids out there who don't know what uunet was). The name stuck, and I eventually…
Not at all. SRP is about enhancing the cohesion of things that change for the same reasons, and decreasing the coupling between things that change for different reasons.
SRP is very simple. If two different people want to change a class for two different reasons, then pull those reasons into two different classes. That is the SRP. Example: A class that analyzes a data stream and prints…
I don't know Mr. Newton's beef. I found the virulence of his posts rather surprising since they were entirely off topic, and an attempt to make the topic about me, personally, rather than about what I wrote. Perhaps he…
Nimi, to be clear, I did not define agile; I simply collaborated in the effort that defined it. In one post Robin2 described the course as OO, in another he described it as "C++". Those are two different courses so I'm…
One last point. People like Donald Knuth and Brian Kernighan are heroes of mine. I would not sully their names by comparing them with the likes of me.
Does anybody here think that healthcare.gov was put together by experts? Or was it more likely a horde of novices?
I'm 72. As for what I have shipped over the half-century of my career, you can read all about that in part two of my book We, Programmers. Suffice it to say I've shipped a LOT of code.
You should be baffled, because I never presented that as a hard and fast rule.
Actually, I presented that figure as an example of just how difficult that problem was to understand, and how (on a bike ride) I was finally able to visualize what was going on. The ascii image was presented a bit…
Ah, yes. The famous Sudoku solver controversy. In 2006 Ron Jeffries wrote four blogs about solving Sudoku in Ruby with TDD. His blogging effort ended before he completed the solution. I think he got interested in…
Yet another dunker. Oh well.
Muahahahaha!
Well, that's not the _only_ reason. ;-)
:-)
Who does that? Who uses guard rails like that? Accountants.
It's the CEO's job to demand the impossible. It's the engineer's job to deal with reality. When the engineer tells the CEO that the impossible is possible, the engineer has forsaken his/her responsibilities.
Type systems do not force programmers to be disciplined. Type systems tempt programmers to cheat.
I have never told people that they must have 100% test coverage. Indeed, I tell them that 100% test coverage is impossible. What you are referring to is a statement I frequently make -- 100% coverage is the goal. It's…
That was cool!
There's nothing wrong with tools. I like tools. I use them all the time. I want better ones. I also want programmers to be able to use those tools well. Finally, I look at a lot of crap code written by programmers who…
I use that style, from time to time, because I like it. ;-)
Only if you design your tests that way. Tests are just software. If a change to one part of a software system requires massive changes to another part of that same system; then the system is poorly designed. Indeed,…
If you don't want to use TDD, then that's fine. But make sure that you are not doing TDD for the right reasons. The reasons to not to TDD are: 1. You don't care about the quality of your product. 2. You don't care about…
Just to be clear, the name "Uncle Bob" was given to me by a coworker in 1989. It was in my email and uunet signature for years. (There are kids out there who don't know what uunet was). The name stuck, and I eventually…
Not at all. SRP is about enhancing the cohesion of things that change for the same reasons, and decreasing the coupling between things that change for different reasons.
SRP is very simple. If two different people want to change a class for two different reasons, then pull those reasons into two different classes. That is the SRP. Example: A class that analyzes a data stream and prints…
SRP is very simple. If two different people want to change a class for two different reasons, then pull those reasons into two different classes. That is the SRP. Example: A class that analyzes a data stream and prints…
I don't know Mr. Newton's beef. I found the virulence of his posts rather surprising since they were entirely off topic, and an attempt to make the topic about me, personally, rather than about what I wrote. Perhaps he…
Nimi, to be clear, I did not define agile; I simply collaborated in the effort that defined it. In one post Robin2 described the course as OO, in another he described it as "C++". Those are two different courses so I'm…
One last point. People like Donald Knuth and Brian Kernighan are heroes of mine. I would not sully their names by comparing them with the likes of me.
Does anybody here think that healthcare.gov was put together by experts? Or was it more likely a horde of novices?