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. This application just keeps on giving...

This application just keeps on giving...

Scheduled Pinned Locked Moved The Lounge
csharpjavascriptcsslinqcom
20 Posts 10 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.
  • Sander RosselS Sander Rossel

    Johnny J. wrote:

    You have to select a solution that's good enough to fulfill the purpose while also beeing within the time- and money span the customer is willing to pay for. Not too much and not too little.

    Writing clean code is usually the faster solution, if only because the code does what you want more often and you spend less time chasing bugs. Of course these programmers wouldn't recognize clean code if it hit them in the face :sigh: You don't have to over engineer it though. I'd be happy with a two-layered or even a one-and-a-half-layered architecture on this one :laugh: This one just binds database entities directly into the form and then goes ahead and reads everything from controls :sigh:

    Johnny J. wrote:

    Let me guess: The application is written in VB, right? :rolleyes:

    And WinForms! :laugh:

    Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

    J Offline
    J Offline
    Johnny J
    wrote on last edited by
    #5

    Sander Rossel wrote:

    And WinForms!

    Whohoa there! Don't knock Winforms when I'm listening to it. I much prefer Winforms over ANY kind of Web development - if nothing else, just because I don't have to deal with Javascript and CSS... :laugh:

    Anything that is unrelated to elephants is irrelephant
    Anonymous
    -----
    The problem with quotes on the internet is that you can never tell if they're genuine
    Winston Churchill, 1944
    -----
    Never argue with a fool. Onlookers may not be able to tell the difference.
    Mark Twain

    Sander RosselS 1 Reply Last reply
    0
    • J Johnny J

      Sander Rossel wrote:

      And WinForms!

      Whohoa there! Don't knock Winforms when I'm listening to it. I much prefer Winforms over ANY kind of Web development - if nothing else, just because I don't have to deal with Javascript and CSS... :laugh:

      Anything that is unrelated to elephants is irrelephant
      Anonymous
      -----
      The problem with quotes on the internet is that you can never tell if they're genuine
      Winston Churchill, 1944
      -----
      Never argue with a fool. Onlookers may not be able to tell the difference.
      Mark Twain

      Sander RosselS Offline
      Sander RosselS Offline
      Sander Rossel
      wrote on last edited by
      #6

      I thought so too for a loooong time. But now that I'm back to doing WinForms I'm not so convinced anymore :laugh: For one thing, data binding is far more easier on web apps.

      Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

      J 1 Reply Last reply
      0
      • Sander RosselS Sander Rossel

        I thought so too for a loooong time. But now that I'm back to doing WinForms I'm not so convinced anymore :laugh: For one thing, data binding is far more easier on web apps.

        Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

        J Offline
        J Offline
        Johnny J
        wrote on last edited by
        #7

        Ah, but I would love working on an application like the one you mention. Just to be able to say "What bleedin' elephanting c*nt wrote this brain dead code" and NOT find out upon investigating that it was in fact myself... :rolleyes:

        Anything that is unrelated to elephants is irrelephant
        Anonymous
        -----
        The problem with quotes on the internet is that you can never tell if they're genuine
        Winston Churchill, 1944
        -----
        Never argue with a fool. Onlookers may not be able to tell the difference.
        Mark Twain

        1 Reply Last reply
        0
        • Sander RosselS Sander Rossel

          So this application has an order entity. You'd expect something like order and order detail, but instead we get an order with product1, product2, product3, product4 and price1, price2, price3, price4. Because there would never be more than four products. Actually make that five! Hilarity ensued as the original programmer tried to fit in a fifth product and had to go through the entire application to add another product. Everything I'm doing now is basically work around this ridiculous setup. So anyway, each product requires a report to be printed and all reports need to be printed before the order can be invoiced. So you'd expect a printed1, printed2, printed3... Except it's a single field with "01101". The first digit represents the status of product1, the second of product2, etc. And a "1" means it's NOT printed. I'm not even sure how it works for orders with less than five products. And the old orders only have four digits so I'm not even sure if that ever works out or we need to do some data update on all orders. This is a fairly recent application written by someone with over 30 years of experience in software development :(( And he's not even the worst software developer I know :wtf:

          Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

          M Offline
          M Offline
          Marc Clifton
          wrote on last edited by
          #8

          Sander Rossel wrote:

          Except it's a single field with "01101".

          Inverse bit fields for state? Was this code imported from COBOL or Fortran? Or assembly??? ;) > his is a fairly recent application written by someone with over 30 years of experience in software development Maybe not the code, but seems like to programmer was "imported" from an era long gone! :laugh:

          Latest Articles:
          Client-Side TypeScript without ASP.NET, Angular, etc.

          Sander RosselS 1 Reply Last reply
          0
          • M Marc Clifton

            Sander Rossel wrote:

            Except it's a single field with "01101".

            Inverse bit fields for state? Was this code imported from COBOL or Fortran? Or assembly??? ;) > his is a fairly recent application written by someone with over 30 years of experience in software development Maybe not the code, but seems like to programmer was "imported" from an era long gone! :laugh:

            Latest Articles:
            Client-Side TypeScript without ASP.NET, Angular, etc.

            Sander RosselS Offline
            Sander RosselS Offline
            Sander Rossel
            wrote on last edited by
            #9

            Marc Clifton wrote:

            Was this code imported from COBOL or Fortran? Or assembly???

            Imported directly from a sick mind :laugh:

            Marc Clifton wrote:

            seems like to programmer was "imported" from an era long gone!

            Yes, in fact I'm taking over this code because he's retiring! :D

            Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

            M 1 Reply Last reply
            0
            • Sander RosselS Sander Rossel

              So this application has an order entity. You'd expect something like order and order detail, but instead we get an order with product1, product2, product3, product4 and price1, price2, price3, price4. Because there would never be more than four products. Actually make that five! Hilarity ensued as the original programmer tried to fit in a fifth product and had to go through the entire application to add another product. Everything I'm doing now is basically work around this ridiculous setup. So anyway, each product requires a report to be printed and all reports need to be printed before the order can be invoiced. So you'd expect a printed1, printed2, printed3... Except it's a single field with "01101". The first digit represents the status of product1, the second of product2, etc. And a "1" means it's NOT printed. I'm not even sure how it works for orders with less than five products. And the old orders only have four digits so I'm not even sure if that ever works out or we need to do some data update on all orders. This is a fairly recent application written by someone with over 30 years of experience in software development :(( And he's not even the worst software developer I know :wtf:

              Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

              M Offline
              M Offline
              musefan
              wrote on last edited by
              #10

              Sander Rossel wrote:

              written by someone with over 30 years of experience in software development

              Are you sure he didn't say "I had an experience with software development 30 years ago"? But seriously, it's hard to believe you didn't just make this up, it's so funny to think this actually happens. I look forward to the next update :-D

              1 Reply Last reply
              0
              • Sander RosselS Sander Rossel

                So this application has an order entity. You'd expect something like order and order detail, but instead we get an order with product1, product2, product3, product4 and price1, price2, price3, price4. Because there would never be more than four products. Actually make that five! Hilarity ensued as the original programmer tried to fit in a fifth product and had to go through the entire application to add another product. Everything I'm doing now is basically work around this ridiculous setup. So anyway, each product requires a report to be printed and all reports need to be printed before the order can be invoiced. So you'd expect a printed1, printed2, printed3... Except it's a single field with "01101". The first digit represents the status of product1, the second of product2, etc. And a "1" means it's NOT printed. I'm not even sure how it works for orders with less than five products. And the old orders only have four digits so I'm not even sure if that ever works out or we need to do some data update on all orders. This is a fairly recent application written by someone with over 30 years of experience in software development :(( And he's not even the worst software developer I know :wtf:

                Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

                P Offline
                P Offline
                PeejayAdams
                wrote on last edited by
                #11

                Sander Rossel wrote:

                This is a fairly recent application written by someone with over 30 years of experience in software development :((

                Sounds like someone from pre-RDBMS times who is still doing exactly what he used to do when he started out with C-ISAM or something of that ilk. Probably thinks he's bang up-to-date 'cos he does the odd bit of VB6 and no longer keeps his code on 5 1/4 floppies.

                Sander Rossel wrote:

                And he's not even the worst software developer I know :WTF:

                That's SCARY!

                Whenever you find yourself on the side of the majority, it is time to pause and reflect. - Mark Twain

                1 Reply Last reply
                0
                • Sander RosselS Sander Rossel

                  So this application has an order entity. You'd expect something like order and order detail, but instead we get an order with product1, product2, product3, product4 and price1, price2, price3, price4. Because there would never be more than four products. Actually make that five! Hilarity ensued as the original programmer tried to fit in a fifth product and had to go through the entire application to add another product. Everything I'm doing now is basically work around this ridiculous setup. So anyway, each product requires a report to be printed and all reports need to be printed before the order can be invoiced. So you'd expect a printed1, printed2, printed3... Except it's a single field with "01101". The first digit represents the status of product1, the second of product2, etc. And a "1" means it's NOT printed. I'm not even sure how it works for orders with less than five products. And the old orders only have four digits so I'm not even sure if that ever works out or we need to do some data update on all orders. This is a fairly recent application written by someone with over 30 years of experience in software development :(( And he's not even the worst software developer I know :wtf:

                  Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

                  K Offline
                  K Offline
                  kmoorevs
                  wrote on last edited by
                  #12

                  :omg: That's one of the worst designs I've ever heard of. X| Let me guess...it was written in C#. :laugh:

                  "Go forth into the source" - Neal Morse

                  D 1 Reply Last reply
                  0
                  • K kmoorevs

                    :omg: That's one of the worst designs I've ever heard of. X| Let me guess...it was written in C#. :laugh:

                    "Go forth into the source" - Neal Morse

                    D Offline
                    D Offline
                    Daniel Pfeffer
                    wrote on last edited by
                    #13

                    kmoorevs wrote:

                    it was written in C#

                    Crappy code can (and is) written in any language.

                    Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.

                    K 1 Reply Last reply
                    0
                    • Sander RosselS Sander Rossel

                      So this application has an order entity. You'd expect something like order and order detail, but instead we get an order with product1, product2, product3, product4 and price1, price2, price3, price4. Because there would never be more than four products. Actually make that five! Hilarity ensued as the original programmer tried to fit in a fifth product and had to go through the entire application to add another product. Everything I'm doing now is basically work around this ridiculous setup. So anyway, each product requires a report to be printed and all reports need to be printed before the order can be invoiced. So you'd expect a printed1, printed2, printed3... Except it's a single field with "01101". The first digit represents the status of product1, the second of product2, etc. And a "1" means it's NOT printed. I'm not even sure how it works for orders with less than five products. And the old orders only have four digits so I'm not even sure if that ever works out or we need to do some data update on all orders. This is a fairly recent application written by someone with over 30 years of experience in software development :(( And he's not even the worst software developer I know :wtf:

                      Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

                      D Offline
                      D Offline
                      dandy72
                      wrote on last edited by
                      #14

                      Sander Rossel wrote:

                      This is a fairly recent application written by someone with over 30 years of experience in software development

                      ...and most of those 30 years have been spent at the same company, I'm guessing...?

                      Sander RosselS 1 Reply Last reply
                      0
                      • D Daniel Pfeffer

                        kmoorevs wrote:

                        it was written in C#

                        Crappy code can (and is) written in any language.

                        Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.

                        K Offline
                        K Offline
                        kmoorevs
                        wrote on last edited by
                        #15

                        Yeah, that was kind of my point...a response to the predictable VB shaming. We really need a sarcasm icon or tag. :laugh:

                        "Go forth into the source" - Neal Morse

                        1 Reply Last reply
                        0
                        • Sander RosselS Sander Rossel

                          Marc Clifton wrote:

                          Was this code imported from COBOL or Fortran? Or assembly???

                          Imported directly from a sick mind :laugh:

                          Marc Clifton wrote:

                          seems like to programmer was "imported" from an era long gone!

                          Yes, in fact I'm taking over this code because he's retiring! :D

                          Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

                          M Offline
                          M Offline
                          Mycroft Holmes
                          wrote on last edited by
                          #16

                          Sander Rossel wrote:

                          I'm taking over this code because he's retiring

                          That explains the issue, he had built in job security. Oh you need another product that will take 3 months to add and another month to test. I pride myself on having changed my way of thinking over a long period of development, this guy still thinks the way a junior programmer would (certainly not a developer).

                          Never underestimate the power of human stupidity - RAH I'm old. I know stuff - JSOP

                          Sander RosselS 1 Reply Last reply
                          0
                          • D dandy72

                            Sander Rossel wrote:

                            This is a fairly recent application written by someone with over 30 years of experience in software development

                            ...and most of those 30 years have been spent at the same company, I'm guessing...?

                            Sander RosselS Offline
                            Sander RosselS Offline
                            Sander Rossel
                            wrote on last edited by
                            #17

                            Three in total, the last roughly 20 years his own company.

                            Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

                            1 Reply Last reply
                            0
                            • M Mycroft Holmes

                              Sander Rossel wrote:

                              I'm taking over this code because he's retiring

                              That explains the issue, he had built in job security. Oh you need another product that will take 3 months to add and another month to test. I pride myself on having changed my way of thinking over a long period of development, this guy still thinks the way a junior programmer would (certainly not a developer).

                              Never underestimate the power of human stupidity - RAH I'm old. I know stuff - JSOP

                              Sander RosselS Offline
                              Sander RosselS Offline
                              Sander Rossel
                              wrote on last edited by
                              #18

                              Never attribute to malice that which can simply be explained by stupidity :) Besides, this guy didn't need the job security as he was already sort of retired, just did a friend a favor. Not that this guy is stupid. He knows a lot about a lot and I know he's a great manager and salesman, but he can't write code for shit :laugh: I have to give him credit though, the application works and the customer is satisfied. They considered another party, but they could not do what this guy did and it was more expensive too. I know a professional IT club at another likewise company around here can't get it to work at all! These guys need three days of work for what this badly written software does in an afternoon. I tried contacting this other company to offer them my services, but the responsible person wouldn't even come to the phone, call me back or respond to my email :sigh:

                              Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

                              M 1 Reply Last reply
                              0
                              • Sander RosselS Sander Rossel

                                Never attribute to malice that which can simply be explained by stupidity :) Besides, this guy didn't need the job security as he was already sort of retired, just did a friend a favor. Not that this guy is stupid. He knows a lot about a lot and I know he's a great manager and salesman, but he can't write code for shit :laugh: I have to give him credit though, the application works and the customer is satisfied. They considered another party, but they could not do what this guy did and it was more expensive too. I know a professional IT club at another likewise company around here can't get it to work at all! These guys need three days of work for what this badly written software does in an afternoon. I tried contacting this other company to offer them my services, but the responsible person wouldn't even come to the phone, call me back or respond to my email :sigh:

                                Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

                                M Offline
                                M Offline
                                Mycroft Holmes
                                wrote on last edited by
                                #19

                                Sander Rossel wrote:

                                he's a great manager and salesman

                                Ah that explains it, coding is not his primary job. In the 90's I made a living turning apps built by these sort of people into well designed database applications so I have seen many of these. I once spent 3 years following a particular "consultant" from site to site rebuilding his systems.

                                Never underestimate the power of human stupidity - RAH I'm old. I know stuff - JSOP

                                Sander RosselS 1 Reply Last reply
                                0
                                • M Mycroft Holmes

                                  Sander Rossel wrote:

                                  he's a great manager and salesman

                                  Ah that explains it, coding is not his primary job. In the 90's I made a living turning apps built by these sort of people into well designed database applications so I have seen many of these. I once spent 3 years following a particular "consultant" from site to site rebuilding his systems.

                                  Never underestimate the power of human stupidity - RAH I'm old. I know stuff - JSOP

                                  Sander RosselS Offline
                                  Sander RosselS Offline
                                  Sander Rossel
                                  wrote on last edited by
                                  #20

                                  Still doesn't explain it :laugh: His primary job was coding, it wasn't until he started his own company that he went into sales and management. He went from Clipper and DBase to VB to VB.NET and SQL Server. And he still did plenty of programming after that. He never quite got out of that Clipper and DBase mindset though. I know this guy pretty well :)

                                  Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

                                  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