Talk:Anti-pattern

From Wikipedia, the free encyclopedia

This is the talk page for discussing improvements to the Anti-pattern article.

Article policies
Archives: 1
This article, or a portion of it, was copyedited by the League of Copyeditors in January 2007. If you would like to participate, please visit the project page, where you can join the project and see a list of open tasks.
Archive
Archives
Archive 1
About archives

Contents

[edit] Move

The term anti-pattern is a neologism inspired by a particular book (WP:COI?). The phrase seems to have other meanings (see Other uses below) and its usage in this case is obscure. And the article seems to be mostly an unsourced collection of Dilbert-style grumbles. The more common phrase for this concept is bad habit so I'm going to be bold and move to that title. Under the new title, the concept will be more generally useful. Colonel Warden (talk) 11:37, 26 March 2008 (UTC)

That's done. Rewriting the article will take some time and there may be some opposition so I'll leave it at that for now. More anon. Colonel Warden (talk) 11:42, 26 March 2008 (UTC)

  • STRONGLY object to this move. The term "anti-pattern" is well-established in the CS literature and has been for over a decade; it is not a neologism. Am requesting an admin move it back. --EngineerScotty (talk) 21:39, 26 March 2008 (UTC)
  • The definition of WP:NEO is Neologisms are words and terms that have recently been coined, generally do not appear in any dictionary, but may be used widely or within certain communities. Since this term does not appear in authoritative dictionaries such as the OED, it is certainly a neologism. The concept it describes is not a new one - people have been making systematic blunders throughout history. All we have here is old wine in new bottles. Colonel Warden (talk) 10:08, 27 March 2008 (UTC)
  • A search of Google Scholar shows a reasonably large number of scholarly publications (mostly CS from my quick browse of the results) that use the term "anti-pattern", which seems to indicate that the term has entered the technical lexicon. That said, I agree that the article itself consists mostly of unsourced lists of dubious quality. I don't see much point in having the big lists, particularly since they're mostly just going to be duplicating PPR's AntiPatterns Catalog anyway. --Allan McInnes (talk) 05:48, 27 March 2008 UTC)
  • I have created Bad habit as a separate article with a natural focus on personal bad habits. That article is just a stub but already has more references than this tendentious neologism. It is a bad habit of computer geeks to think that their business is something special and so deserves an article for every bit of whimsical jargon. This is systemic bias. Colonel Warden (talk) 14:15, 27 March 2008 (UTC)
    • Nonsense--Wikipedia is larded with articles on every bits of the "whimsical jargon" found in *numerous* disciplines and fields of study--CS is probably one of the easier ones to cover, as most of the technical jargon in CS is fairly well defined, and those things that aren't (i.e. "object") are nonetheless the subject of much discussion in the literature. Technical jargon != neologism. Now, a technical term that is only used by one author or in one paper, and not accepted by a wider academic or professional community--that is neologism. (Or protologism). And most technical jargon starts out as neologism, with some being accepted by a community (and becoming part of the lingua franca of that community), and other bits of technical jargon not becoming so. But Wikipedia is not paper, and is certainly free to cover well-established technical terminology in detail. Remember, perceived "importance" is not an issue here; the ability to write a well-sourced article is what determines whether or not something is worthy of coverage. --EngineerScotty (talk) 16:46, 27 March 2008 (UTC)
      • This article is not well sourced and it is not well-titled. The term antipattern is not as prevalent as you suggest. The search of Google scholar above yields 719 hits and that includes other usages. If I try other searches in plain English, I get more hits, e.g.
My impression remains that this is a fashionable neologism being pushed by a small clique of authors who have books to sell. Bad practise and design existed long before they wrote a book about it and will no doubt continue under many names... Colonel Warden (talk) 19:17, 27 March 2008 (UTC)
  • I too object to the move. In spite of its flaws, this article is useful, it contains what people want/need to know, and it is where most computing professionals will expect it, while they would scarcely stumble on Bad habit. That article, incidentally, could well become interesting, but one sees at once that it is a different topic, and I suspects its references are there to prove a point - and this article has more external links and further reading. As to whimsy, that seems to fit a lot of the articles in User:Colonel Warden/creations. Bad practice has indeed been around for a long time, but this approach to recognising, avoiding and repairing it in programming and elsewhere seems to deserve a term of its own. As to "neologism", I feel it was one ten years ago, but is no longer, even if it hasn't made it into the OED, which reacts slower than Wikipedia. I agree that this article has some problems, but feel that is outweighed by its utility. It certainly needs regular pruning and maintenance, as people stick in their pet grudges, which seem to be concentrated in the managerial/organisational rather than technical sections. Another problem is that limiting it strictly to anti-patterns at the expense of e.g. pitfalls involves tricky judgements and makes it less useful, as the borders are a bit fluid. It has also been suggested it should just be a category, but for that it has too much substance of its own and useful descriptions on the links. Perhaps it is worth standing back and trying to say what we want the article to achieve. PJTraill (talk) 01:58, 28 March 2008 (UTC)
  • Typically what happens in such cases is that the long list of examples is spun off into a separate List article and people then fight over what should be included. See List of massacres, for example. If the basis for inclusion is not clear then the article will then usually fail at AFD, as in the recent case of List of Geordies. In any case, if there isn't a reliable source saying that something is an anti-pattern, then it should go, as the term is derogatory. I wouldn't consider the creators of this neologism to be acceptable since they have a commercial interest in casting their net wide and so are not independent. What we want are examples of serious secondary usage. Right? Colonel Warden (talk) 08:07, 28 March 2008 (UTC)
  • Object. WP:NEO is satisfied, it allows an article about this term: To support the use of (or an article about) a particular term we must cite reliable secondary sources such as books and papers about the term—not books and papers that use the term. This is satisfied, period. We can argue about WP:COMMONNAME for a "a design pattern or behavioral pattern that should be better avoided" in a separate thread. I'd say it is a common name. We can argue also if the article is properly sourced: it is NOT. It cites mainly a primary source, which is against WP:RS. There is a lot of secondary sources. Your argument about "individuals casting the commercial net" completely misses the point (!), but proves that intro section should be re-written if it gave you such impression. --Kubanczyk (talk) 10:19, 11 April 2008 (UTC)
Rewritten intro, provided sources, please comment. --Kubanczyk (talk) 14:27, 11 April 2008 (UTC)
I'm not sure that you've touched this bit but, according to the current lede, an anti-pattern requires that there be a refactored solution, i.e. another way of writing the code to achieve the same effect but without the technical drawbacks. For example, spaghetti code might be rewritten in a more structured way. This seems to limit the concept quite tightly to coding issues. So, why do we have all the Dilbert stuff about bad management? This belongs to organisation theory, not computer science and so should be purged from this article, right? Or is the lede's definition wrong? Colonel Warden (talk) 15:54, 11 April 2008 (UTC)
I would say that the whole idea expanded from the OO design pretty much into IT project management. Maybe further into org/mgmt theory. WP:RS needed. But my source-browsing battery is totally depleted. --Kubanczyk (talk) 17:52, 11 April 2008 (UTC)
The anti-pattern here is adding endless examples of bad behaviour without any verification. The refactored solution is to exclude anything that doesn't have a reliable source. See - anyone can play this anti-pattern game. I'll source a few entries to show how it's done and then toss out all the other examples. Colonel Warden (talk) 18:20, 11 April 2008 (UTC)
Mhm, but that's not actually an anti-pattern. It's just the Bad Thing :)) If I were you I would start with removing links that describe a bad thing, instead of describing a "supposedly good thing that turns bad later". For example Death march (software development) is not an anti-pattern. But per WP:V it's really up to you. --Kubanczyk (talk) 19:00, 11 April 2008 (UTC)
No, simple deletionism is an anti-pattern because it does not demonstrate the correct way forward. The refactored solution is to lead by example. But I find that some sources seem to give examples which seem wholly negative and so are just bad things. These sources seem unreliable but it may be difficult to exclude them. I favour a tabular structure in which we have several columns: a) the antipatterm b) its false promise c) the refactored solution. Colonel Warden (talk) 19:25, 11 April 2008 (UTC)
I like the idea of the three column table! "A proper pattern example" seems like a better name for the third column. My concern is, that sometimes the third column could contain A LOT of text. There are types of problems that have 3 or more equally excellent solutions. --Kubanczyk (talk) 19:59, 11 April 2008 (UTC)

[edit] Other uses

In the course of checking this neologism, I find that it is used in computer science with a different sense to the current Dilbertisms. See, for example, Anti-pattern Matching in which the usage seems more sensible. The term pattern is a long-standing one in computer science which conforms to general usage. Trying to use the term to also mean methodology, practise or style is confusing and unnecessary. Colonel Warden (talk) 10:41, 27 March 2008 (UTC)

Again, if you refer to the Google Scholar search I linked to above (or better yet, one that looks for occurrences of "anti-pattern" and "software"), you'll find that the term anti-pattern seems to be used in scholarly CS literature more in the sense of the current article. Yes, the article you link to appears in the first 10 hits. But over half of the first 10 hits are links to articles that use anti-pattern in the sense described in this article. For example, the abstract of the top hit says: "We present a library of 38 antipatterns, which describe predefined recognized sources of multithreading related errors in the code."
Personally, I'm not particularly fond of the term "anti-pattern". But the fact remains that it is in common use in scholarly literature, and the usage is predominantly the one promulgated in this article. I do think that the (as you call them) "Dilbertisms" are misplaced here, since the use of anti-pattern in the literature seems to be focused more on technical design errors than on management foibles. But I suspect that kind of thing could be cleaned up by being more stringent in requiring sources for any listed anti-patterns. --Allan McInnes (talk) 15:44, 27 March 2008 (UTC)
The example given (an anti-pattern meaning a way of matching negative and positive criteria) seems itself a neologism, and far less well-established. If it becomes established, good luck to it, but it has little bearing on this discussion. Moreover, I am not sure what this separate thread is for, and it seems a bit like a distraction from the previous thread. PJTraill (talk) 01:16, 28 March 2008 (UTC)
It's a separate thread because it is a separate issue. That's all. Colonel Warden (talk) 07:41, 28 March 2008 (UTC)

[edit] Milk monitor promotion

Milk Monitor Promotion: A pseudo promotion (a better sounding title), with no additional responsibilities or pay increase, which is given as a quick and costless way to make the employee work harder.

In the long run, are the results negative to either organization or an employee? --Kubanczyk (talk) 11:57, 5 June 2008 (UTC)

What does this matter? the point is that the promotion is a facade
Because if the results are not clearly negative then this does not meet the friggin DEFINITION of "anti-pattern" and becomes just a "pattern"; the definition is at the very top of this article! --Kubanczyk (talk) 11:57, 5 June 2008 (UTC)
The results ARE clearly negative! The employee is given more responsibility and no extra pay.
The description says otherwise: he is given "no more responsibility and no extra pay"; he is expected to work harder but he is not expected to; where are the clearly negative results? --Kubanczyk (talk) 11:57, 5 June 2008 (UTC)