サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Wikipedia
blog.cleancoder.com
I want to become a Software Architect. That’s a fine goal for a young software developer. I want to lead a team and make all the important decisions about databases and frameworks and web-servers and all that stuff. Oh. Well, then you don’t want to become a Software Architect after all. Of course I do! I want to be the one who makes all the important decisions. That’s fine, but you didn’t list the
Over the last several years I have paired with people learning Functional Programming who have expressed an anti-OO bias. This usually comes in the form of statements like: “Oh, that’s too much like an Object.” I think this comes from the notion that FP and OO are somehow mutually exclusive. Many folks seem to think that a program is functional to the extent that it is not object oriented. I presu
TDD Doesn’t work. It doesn’t? That’s odd. I’ve always found it to work quite well. Not according to a new study. Another study? Yeah, an in-depth study that repeated another study that was done a few years back. Both showed that TDD doesn’t work. The new one uses a multi-site, blind analysis, approach. It looks conclusive. Do the authors consider it conclusive? The authors recommend more study. Bu
At XP2016 I attended an open-space demonstration of mutation testing. In particular, an open source tool for the Java space named pitest. I came away pretty impressed. I had heard of mutation testing before. A decade and a half ago there was an open source tool named jester. Nothing much came of Jester back then. Perhaps we were too focussed upon TDD to think beyond it. After all, the very notion
The Clean Code Blog by Robert C. Martin (Uncle Bob) Welcome!
What do you think of interfaces? You mean a Java or C# interface? Yes, are interfaces a good language feature? Of course, they’re great! Really. Hmmm. What is an interface? Is it a class? No, it’s different from a class. In what way? None of it’s methods are implemented. Then is this an interface? No, that’s an abstract class. What is the difference? Well, an abstract class can have functions that
A friend of mine posted the following on facebook. He meant it as a troll; and it worked, because it irked me. There are many programmers who have said similar things over the years. They consider Object Orientation and Functional Programming to be mutually exclusive forms of programming. From their ivory towers in the clouds some FP super-beings occasionally look down on the poor naive OO program
The five episodes of the Is TDD Dead? hangout, are now over. The chatter has died down. David, Kent, and Martin have had their says. The audience has asked their questions and gotten some answers. Now we can put the whole thing to bed and get on about our business. Seldom has a keynote talk created such a big splash. I don’t ever recall a keynote, and a simple blog, generating such a loud fuss. In
Frameworks are powerful tools. We’d be lost without them. But there’s a cost to using them. Think of Rails, or Spring, or JSF, or Hibernate. Think about what writing a web system would be like without these frameworks to help you. The idea is disheartening. There’d be so many little piddling details to deal with. It’d be like endeavoring to construct a mnemonic memory circuit using stone knives an
A mock object is a very powerful tool, providing two major benefits: isolation and introspection. But like all power tools, mocks come with a cost. So where and when should you use them? What is the cost/benefit trade off? Let’s look at the extremes. ##No Mocks. Consider the test suite for a large web application. Let’s assume that test suite uses no mocks at all. What problems will it face? The e
In 1972 David L. Parnas published a classic paper entitled On the Criteria To Be Used in Decomposing Systems into Modules. It appeared in the December issue of the Communications of the ACM, Volume 15, Number 12. In this paper, Parnas compared two different strategies for decomposing and separating the logic in a simple algorithm. The paper is fascinating reading, and I strongly urge you to study
Over the years many people have complained about the so-called “religiosity” of some of the proponents of Test Driven Development. The recent brouhaha over TDD has, once again, brought these complaints to the fore. So I thought it would be a good idea to talk about when TDD does not work. I have often compared TDD to double-entry bookkeeping. The act of stating every bit of logic twice, once in a
When a blog begins like this… “Test-first fundamentalism is like abstinence-only sex ed: An unrealistic, ineffective morality campaign for self-loathing and shaming.” … you have to wonder if the rest of the post can recover its credibility, or whether it will continue as an unreasoned rant. Take the first two words: “Test-first fundamentalism”. Fundamentalism is a term that used to mean: “back to
In my hand I am holding a little white book that, fourteen years ago, changed the software world forever. The title of that book is: Extreme Programming Explained; and the subtitle is: Embrace Change. The author is Kent Beck, and the copyright date is 1999. The book is small, less than 200 pages. The print is large and widely spaced. The writing style is casual and accessible. The chapters are sho
Imagine that you are looking at the blueprints of a building. This document, prepared by an architect, tells you the plans for the building. What do these plans tell you? If the plans you are looking at are for a single family residence, then you’ll likely see a front entrance, a foyer leading to a living room and perhaps a dining room. There’ll likely be a kitchen a short distance away, close to
In the weeks since I started talking about the need to clean up our architecture, I’ve noticed a surprising resistance to the idea. Apparently the notion that it’s a good idea to hide the framework, UI, or database from the application code is not universally accepted. I first blogged about this topic here , I did a whole cleancoders.com episode on the topic. I’ve also done several keynotes on the
Over the last several years we’ve seen a whole range of ideas regarding the architecture of systems. These include: Hexagonal Architecture (a.k.a. Ports and Adapters) by Alistair Cockburn and adopted by Steve Freeman, and Nat Pryce in their wonderful book Growing Object Oriented Software Onion Architecture by Jeffrey Palermo Screaming Architecture from a blog of mine last year DCI from James Copli
Consider the Gettysburg Address: “Four score and seven years ago our fathers brought forth upon this continent a new nation, conceived in liberty and dedicated to the proposition that all men are created equal…” Let’s ignore the profundity and melody of those remarkable words, and focus instead on the formatting. I’d like to fit the entire address on a bookmark measuring 1.5” X 8”. I’ll use a mono
このページを最初にブックマークしてみませんか?
『Clean Coder Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く