Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Patterns!

Patterns!

Scheduled Pinned Locked Moved The Lounge
csharpcomgraphicsgame-devregex
23 Posts 8 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Bastien Vandamme

    It should exist an anti pattern called "Pattern programming" I'm also surrounded by developers swearing by pattern and I'm in an Agile team. For me there is an incompatibility between "pattern" and "Agility" because when you are Agile your architecture emerge and there is no reason to think in term of patterns or pre defined solutions. Most important is not to know a pattern but to know the anti patterns.

    J Offline
    J Offline
    Jorgen Andersson
    wrote on last edited by
    #12

    Hear hear.

    Wrong is evil and must be defeated. - Jeff Ello[^]

    S 1 Reply Last reply
    0
    • L Lost User

      The problem is not with the patterns. When used with thought, they indeed help in solving problems without causing new ones. The real problem are the people. The simple version is the Voodoo programmer. Those people have little to no understanding of what they are doing. Instead, they try to copy and paste code snippets, of which they must have an impressive collection. And this collection is then used like a book of magic spells for and against every situation. More 'advanced' Voodoo programmers have made an art of at least appearing less stupid. They have endless lists of rulrs, coventions and patterns (which in reality are just nice names for their magic code snippets) and want everyone to follow these rules just as religiously as they are. Remember, they more often than not they really don't understand their magic spells. They use things because 'it's a pattern', or beacause 'Mr. ABC said so in his book/article/blog/speech/whatever'. In some companies management really likes religious code monkeys. They are easier to manage, cost less and look sufficiently competent to outsiders.

      The language is JavaScript. that of Mordor, which I will not utter here
      I hold an A-7 computer expert classification, Commodore. I'm well acquainted with Dr. Daystrom's theories and discoveries. The basic design of all our ship's computers are JavaScript.

      B Offline
      B Offline
      Bastien Vandamme
      wrote on last edited by
      #13

      Is this term "Voodoo programmers" your invention? That is fun. I call them the alchemist for the same reason. An alchemist don't do real magic. An alchemist combine products to create spells or a potions. Most of the time he only read precipices in a book. But for me an alchemist is not a bad programmer. He can be very good in his craft. He just prefer combine thinks than creating things. And yes today most companies prefer Alchemists or Voodoo programmers

      S 1 Reply Last reply
      0
      • B Bastien Vandamme

        Is this term "Voodoo programmers" your invention? That is fun. I call them the alchemist for the same reason. An alchemist don't do real magic. An alchemist combine products to create spells or a potions. Most of the time he only read precipices in a book. But for me an alchemist is not a bad programmer. He can be very good in his craft. He just prefer combine thinks than creating things. And yes today most companies prefer Alchemists or Voodoo programmers

        S Offline
        S Offline
        Super Lloyd
        wrote on last edited by
        #14

        It's as old as Methuselah! Or almost! Voodoo programming[^]

        My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!

        P 1 Reply Last reply
        0
        • L Lost User

          The problem is not with the patterns. When used with thought, they indeed help in solving problems without causing new ones. The real problem are the people. The simple version is the Voodoo programmer. Those people have little to no understanding of what they are doing. Instead, they try to copy and paste code snippets, of which they must have an impressive collection. And this collection is then used like a book of magic spells for and against every situation. More 'advanced' Voodoo programmers have made an art of at least appearing less stupid. They have endless lists of rulrs, coventions and patterns (which in reality are just nice names for their magic code snippets) and want everyone to follow these rules just as religiously as they are. Remember, they more often than not they really don't understand their magic spells. They use things because 'it's a pattern', or beacause 'Mr. ABC said so in his book/article/blog/speech/whatever'. In some companies management really likes religious code monkeys. They are easier to manage, cost less and look sufficiently competent to outsiders.

          The language is JavaScript. that of Mordor, which I will not utter here
          I hold an A-7 computer expert classification, Commodore. I'm well acquainted with Dr. Daystrom's theories and discoveries. The basic design of all our ship's computers are JavaScript.

          S Offline
          S Offline
          Super Lloyd
          wrote on last edited by
          #15

          Woa, I think I understand magic now! :-D

          My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!

          1 Reply Last reply
          0
          • J Jorgen Andersson

            Hear hear.

            Wrong is evil and must be defeated. - Jeff Ello[^]

            S Offline
            S Offline
            Super Lloyd
            wrote on last edited by
            #16

            Jörgen Andersson wrote:

            Wrong is evil and must be defeated. - Jeff Ello[^]

            Interesting link you here!

            My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!

            J 1 Reply Last reply
            0
            • S Super Lloyd

              Jörgen Andersson wrote:

              Wrong is evil and must be defeated. - Jeff Ello[^]

              Interesting link you here!

              My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!

              J Offline
              J Offline
              Jorgen Andersson
              wrote on last edited by
              #17

              I believe he's spot on.

              Wrong is evil and must be defeated. - Jeff Ello[^]

              1 Reply Last reply
              0
              • B Bastien Vandamme

                It should exist an anti pattern called "Pattern programming" I'm also surrounded by developers swearing by pattern and I'm in an Agile team. For me there is an incompatibility between "pattern" and "Agility" because when you are Agile your architecture emerge and there is no reason to think in term of patterns or pre defined solutions. Most important is not to know a pattern but to know the anti patterns.

                B Offline
                B Offline
                BobJanova
                wrote on last edited by
                #18

                B413 wrote:

                or me there is an incompatibility between "pattern" and "Agility" because when you are Agile your architecture emerge

                This sounds like the classic misunderstanding of agile that goes roughly along the lines of 'since things change, we never need to design'. I work mostly on agile projects and I can tell you that design patterns are very important to make sure you develop in a way which can accommodate that change. If anything, getting a good framework design is more important in agile because it strongly affects your ability to adapt during development, and that's the essence of agile.

                B 1 Reply Last reply
                0
                • S Super Lloyd

                  It's finally occurred to me that when it is a pattern, it is by definition inefficient and counter productive. It became clear as I am surrounded by guys swearing by pattern this, pattern that! If it's a good technique why do you need to impose it? Shouldn't it self evidently win everyone heart? Nope because patterns are more like religion, used stubbornly in spite of contrary evidence. I rather prefer the term technique. Technique is something you should learn first. Then you use it or not, whether it helps you or not. And its need is self evident. If it's not obviously needed there is no need to use or impose it either. Plus one can improve upon a technique, whereas one cannot touch the holy pattern until a new software best seller fad comes along! :~ Remark maybe it has nothing to do with pattern but more to do with stupid people imposing their rote learning on me... :((

                  My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!

                  B Offline
                  B Offline
                  BobJanova
                  wrote on last edited by
                  #19

                  Not everything that's right is obvious. Patterns are a codified set of guidelines and advice, including information about when they're appropriate, and they're useful precisely because it's not always obvious what the right answer is without some guidelines to help you. I think it's all about your last sentence, people being prescriptive with any guidelines, whether that be design patterns or coding standards or anything else to do with work, loses the point of what the guidelines were there for in the first place.

                  1 Reply Last reply
                  0
                  • S Super Lloyd

                    It's finally occurred to me that when it is a pattern, it is by definition inefficient and counter productive. It became clear as I am surrounded by guys swearing by pattern this, pattern that! If it's a good technique why do you need to impose it? Shouldn't it self evidently win everyone heart? Nope because patterns are more like religion, used stubbornly in spite of contrary evidence. I rather prefer the term technique. Technique is something you should learn first. Then you use it or not, whether it helps you or not. And its need is self evident. If it's not obviously needed there is no need to use or impose it either. Plus one can improve upon a technique, whereas one cannot touch the holy pattern until a new software best seller fad comes along! :~ Remark maybe it has nothing to do with pattern but more to do with stupid people imposing their rote learning on me... :((

                    My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!

                    D Offline
                    D Offline
                    Distind
                    wrote on last edited by
                    #20

                    I had this argument while I was still in college. A team member had decided the entire major was worthless because we had to use prescribed solutions to everything. Apparently having missed the point that these general solutions can (and should be) modified to fit a situation, and the point of our major was identifying when a pattern would be useful and exactly how to implement it in that situation to best benefit the software and our own sanity. I mean hell, look at adaptor. It's a stopgap solution to keep you from having to re-write libraries and nothing more. This isn't a sacred text it's a few useful ideas. But yeah, doesn't stop people from treating it like their personal bible.

                    S 1 Reply Last reply
                    0
                    • D Distind

                      I had this argument while I was still in college. A team member had decided the entire major was worthless because we had to use prescribed solutions to everything. Apparently having missed the point that these general solutions can (and should be) modified to fit a situation, and the point of our major was identifying when a pattern would be useful and exactly how to implement it in that situation to best benefit the software and our own sanity. I mean hell, look at adaptor. It's a stopgap solution to keep you from having to re-write libraries and nothing more. This isn't a sacred text it's a few useful ideas. But yeah, doesn't stop people from treating it like their personal bible.

                      S Offline
                      S Offline
                      Super Lloyd
                      wrote on last edited by
                      #21

                      Thou shalt follow the hallowed word of the holy pattern! ;P

                      My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!

                      1 Reply Last reply
                      0
                      • S Super Lloyd

                        It's as old as Methuselah! Or almost! Voodoo programming[^]

                        My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!

                        P Offline
                        P Offline
                        PIEBALDconsult
                        wrote on last edited by
                        #22

                        I thought it was "cargo cult programming".

                        You'll never get very far if all you do is follow instructions.

                        1 Reply Last reply
                        0
                        • B BobJanova

                          B413 wrote:

                          or me there is an incompatibility between "pattern" and "Agility" because when you are Agile your architecture emerge

                          This sounds like the classic misunderstanding of agile that goes roughly along the lines of 'since things change, we never need to design'. I work mostly on agile projects and I can tell you that design patterns are very important to make sure you develop in a way which can accommodate that change. If anything, getting a good framework design is more important in agile because it strongly affects your ability to adapt during development, and that's the essence of agile.

                          B Offline
                          B Offline
                          Bastien Vandamme
                          wrote on last edited by
                          #23

                          BobJanova wrote:

                          This sounds like the classic misunderstanding of agile that goes roughly along the lines of 'since things change, we never need to design'.

                          Agility (and Scrum) pretend architecture emerge. I also work mostly on agile projects and I'm agree that design is very important to make sure you develop in a way which can accommodate that change but design patterns are not the only way to design something. I remember the time I had to argue against patterns that now are become anti pattern. And that the problem with patterns. When a pattern is not correct it's hard to argue against it because every book, every web page defend it until he became an anti pattern years latter... It is why I think it is more important to know its anti patterns. And I'm not talking about teams that don't really understand to goal of a pattern and that incorrectly implement it. And some patterns are so complex they don't respect the Keep It Simple and Stupid rule.

                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • World
                          • Users
                          • Groups