Talk:Don't repeat yourself

From Wikipedia, the free encyclopedia

Contents

[edit] Self-reference

The Examples section is an inappropriate self-reference that needs to be moved to the Wikipedia namespace. Aside from the obvious fact that the section is a discussion of Wikipedia itself, it also links to a template, which I don't think should ever be done. ~ Booya Bazooka 21:31, 26 June 2006 (UTC)

Good points. I do think there's some validity to including Wikipedia, as well as other well-known examples, as cases where people accept some violation of DRY in return for other benefits. Listing such examples could be a means to more fully explain DRY. But my lengthy example about the Ghanian soccer player is best moved to somewhere more internal to Wikipedia. And perhaps I could just replace Wikipedia with wikis in general, since the salient point is that DRY is somewhat sacrificed as an acceptable price for community involvement.
I'll move the specifics to my user page for now, and take a stab at being less self-referential. Can you suggest where in the Wikipedia namespace I might move that example? - Regards, PhilipR 21:58, 26 June 2006 (UTC)

[edit] DRY and wikis

I think there's not much value in the "Arguments against DRY" and "Notable examples of DRY violation" sections:

  • the idea that DRY is somehow antithetical to wikis is IMHO wrong. Encyclopedias of all kinds include duplicate information, and Wikipedia is no exception. DRY is not always a good idea and is not always applicable, just like many other general design principles.
[That's precisely the point -- it may not always be applicable. If you want to change the tone to be more positive, fine, but that's not a reason to take that point out.- PhilipR]
  • there's no necessary reason that one would "impose standards based on DRY compliance." DRY is a general principle, not a law that is usually codified and strictly enforced.

Neilc 17:56, 28 June 2006 (UTC)

I believe the DRY principle applies to the method in which a system is built, not to its presentation aspect. So, which a print encyclopedia may list the same information twice, this is not a DRY "violation" — the issue is how that data is edited, and becomes a problem when the information is stored twice in the backend. There is something wrong about saying that wikis are essentially non-DRY, but I see where the sentiment is coming from. ~ Booya Bazooka 20:58, 28 June 2006 (UTC)
Fair enough -- but again, that's an argument to improve my first cut, not take it out. I'm reverting my changes back in in the hopes that they'll spur someone to improve on them, not just remove them. - PhilipR 18:29, 29 June 2006 (UTC)

[edit] Merge

This should definitely be merged with Once and only once, but under which title? Is one term more official or widely-used? ~ Booya Bazooka 04:49, 30 June 2006 (UTC)

Good question. I had no idea, so I applied the generic merge template instead of mergeto or mergefrom. DRY is used in The Pragmatic Programmer, a fairly influential book, so all else being equal it gets my vote. OAOO seems to have many more Google hits (330k to 60k), which could mean nothing if it's used more often in a non-technical sense but could possibly be relevant. Cheers, PhilipR 04:47, 2 July 2006 (UTC)
Neither seems particularly widely used. I've merged them to here simply because this article was originally the longer of the two. If anyone disagrees with my choice, please feel free to move them. JulesH 21:06, 1 August 2006 (UTC)

[edit] DRY within build and configuration management

While I agree traditional build systems (such as make) and cm's (such as rcs, cvs, sub-version, etc.) do not do DRY justice there has been some work on having a two tier review process that enables DRY to be enforced at the human level. Specifically I am thinking of model's like Aegis and it's sister build system Cook. Peter Miller's, the author of both, basic philosophy on both systems is project management should follow development methodology. Additionally in the case of Cook he advocates a DAG of the whole project before the build starts see Recursive Make Considered Harmful