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. Where does it end?

Where does it end?

Scheduled Pinned Locked Moved The Lounge
cssalgorithmsquestioncsharpvisual-studio
44 Posts 12 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.
  • R Robert g Blair

    Sander: Yes, it's 'clever' code. I have many years with Winforms, and the DataGridView. Also with building software for users, using a team of developers. To my mind (based on your necessarily limited description) you are re-coding something that the DataGridView already does. It does it (a) more efficiently than your code, (b) with less potential for support issues (ie, bugs), and (c) in a more user-friendly manner. If you were on my team I would see two problems. They are very common problems, so fairly straightforward to deal with. The first problem is: Why on earth do you need to invoke the sort from a drop-down? Does the client really want to pay $10,000 to be able to sort clunky-fashion, instead of just click the damn header like every other right-thinking user? Go back to the user and enlighten them on what they really want to do here. The second problem is: You (the developer) have decided (as developers often do) to code your way out of a corner. You develop code that must be laboriously explained (although it is excitingly generic). Then you post the code on a geeky forum, looking for approval. I know why you've done that: because you know there are other guys on your team who will diss your 'clever' code. Pro tip: you are writing Winforms apps for end users. You have not yet been called to write cross-platform compilers for GoogIntelSoft. As your boss I would tell you: "Sander, when we deliver that software (next week BTW), our client will not pay us one red cent extra for the cleverness of your grid sorting code. Any bugs it generates in the approval period will cost me money."

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

    Robert g Blair wrote:

    something that the DataGridView already does

    I have had this problem before and sorting a DataGridView is somehow a very difficult task when you're not using DataViews...

    Robert g Blair wrote:

    Why on earth do you need to invoke the sort from a drop-down?

    Because it's much easier than sorting the DataGridView without a DataView (why is this so hard anyway?).

    Robert g Blair wrote:

    Then you post the code on a geeky forum, looking for approval

    Actually I don't. I was expecting this to fail the 'clever'-test. But where does real clever become 'clever'? That I wonder. And I wondered that when writing the code. It does everything I need and it does it well (better than the DataGridView which is still impossible to sort...), but no mortal is ever going to figure out those generics (well, so to speak, I'm not that clever :laugh: ). I'm no newbie looking for approval. In fact I don't think the people who know me question my professionalism or my 'cleverness' (although they do, from time to time, question my sanity) :)

    Robert g Blair wrote:

    there are other guys on your team who will diss your 'clever' code

    Actually they were quite impressed I could concoct such a piece of unreadable, yet compiling, code :laugh: I did already make the code a bit simpler.

    Robert g Blair wrote:

    As your boss I would tell you: "Sander, when we deliver that software (next week BTW), our client will not pay us one red cent extra for the cleverness of your grid sorting code. Any bugs it generates in the approval period will cost me money."

    Actually we're being paid by the hour :laugh: That isn't to say I'm not doing my best or working my fastest. Our clients are programmers too and they will check out my code. I'm professional and practical enough to know when to stop working on a 'clever' solution and look for another solution. This solution here cost me about 15-30 minutes, which is infinitely faster than sorting the DataGridView without a DataView. If only it were actually easy to out-of-the-box sort that DataGridView... :sigh: I still wake up at night, sweating, screaming "InvalidOperationException! The DataSource does not support sorting!" (or something like that)...

    Visit my blog

    1 Reply Last reply
    0
    • R Robert g Blair

      Sander: Yes, it's 'clever' code. I have many years with Winforms, and the DataGridView. Also with building software for users, using a team of developers. To my mind (based on your necessarily limited description) you are re-coding something that the DataGridView already does. It does it (a) more efficiently than your code, (b) with less potential for support issues (ie, bugs), and (c) in a more user-friendly manner. If you were on my team I would see two problems. They are very common problems, so fairly straightforward to deal with. The first problem is: Why on earth do you need to invoke the sort from a drop-down? Does the client really want to pay $10,000 to be able to sort clunky-fashion, instead of just click the damn header like every other right-thinking user? Go back to the user and enlighten them on what they really want to do here. The second problem is: You (the developer) have decided (as developers often do) to code your way out of a corner. You develop code that must be laboriously explained (although it is excitingly generic). Then you post the code on a geeky forum, looking for approval. I know why you've done that: because you know there are other guys on your team who will diss your 'clever' code. Pro tip: you are writing Winforms apps for end users. You have not yet been called to write cross-platform compilers for GoogIntelSoft. As your boss I would tell you: "Sander, when we deliver that software (next week BTW), our client will not pay us one red cent extra for the cleverness of your grid sorting code. Any bugs it generates in the approval period will cost me money."

      B Offline
      B Offline
      BillWoodruff
      wrote on last edited by
      #35

      What a pleasure to read this kind of thoughtful analysis ! thanks, Bill

      «To kill an error's as good a service, sometimes better than, establishing new truth or fact.» Charles Darwin in "Prospero's Precepts"

      1 Reply Last reply
      0
      • Sander RosselS Sander Rossel

        kmoorevs wrote:

        Just leave decent documentation for the next guy

        If I told you you could call it like this, would you know enough? :)

        SomeFunction("Name", Queryable.OrderBy, q => q.Name);

        Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

        Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

        Regards, Sander

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

        Sander Rossel wrote:

        would you know enough?

        I wouldn't. I don't do lambdas. Or Linq.

        Sander RosselS 1 Reply Last reply
        0
        • R Robert g Blair

          Sander: Yes, it's 'clever' code. I have many years with Winforms, and the DataGridView. Also with building software for users, using a team of developers. To my mind (based on your necessarily limited description) you are re-coding something that the DataGridView already does. It does it (a) more efficiently than your code, (b) with less potential for support issues (ie, bugs), and (c) in a more user-friendly manner. If you were on my team I would see two problems. They are very common problems, so fairly straightforward to deal with. The first problem is: Why on earth do you need to invoke the sort from a drop-down? Does the client really want to pay $10,000 to be able to sort clunky-fashion, instead of just click the damn header like every other right-thinking user? Go back to the user and enlighten them on what they really want to do here. The second problem is: You (the developer) have decided (as developers often do) to code your way out of a corner. You develop code that must be laboriously explained (although it is excitingly generic). Then you post the code on a geeky forum, looking for approval. I know why you've done that: because you know there are other guys on your team who will diss your 'clever' code. Pro tip: you are writing Winforms apps for end users. You have not yet been called to write cross-platform compilers for GoogIntelSoft. As your boss I would tell you: "Sander, when we deliver that software (next week BTW), our client will not pay us one red cent extra for the cleverness of your grid sorting code. Any bugs it generates in the approval period will cost me money."

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

          Robert g Blair wrote:

          instead of just click the damn header

          How do I have it sort by column 5 then by column 7 descending? Clicking on column headers to sort is bullshit and whoever started it should be shot.

          1 Reply Last reply
          0
          • P PIEBALDconsult

            Sander Rossel wrote:

            would you know enough?

            I wouldn't. I don't do lambdas. Or Linq.

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

            You don't do C#?

            Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

            Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

            Regards, Sander

            P 1 Reply Last reply
            0
            • Sander RosselS Sander Rossel

              You don't do C#?

              Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

              Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

              Regards, Sander

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

              I do C#; it's kids these days who don't.

              Sander RosselS 1 Reply Last reply
              0
              • P PIEBALDconsult

                I do C#; it's kids these days who don't.

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

                You do C#, but not LINQ and lambda? How do you work with collections, write out each foreach loop every time?

                Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

                Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                Regards, Sander

                P 1 Reply Last reply
                0
                • Sander RosselS Sander Rossel

                  You do C#, but not LINQ and lambda? How do you work with collections, write out each foreach loop every time?

                  Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

                  Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                  Regards, Sander

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

                  Foreach is inefficient, for loops rule.

                  Sander RosselS 1 Reply Last reply
                  0
                  • P PIEBALDconsult

                    Foreach is inefficient, for loops rule.

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

                    I think/hope you're missing a joke icon :laugh:

                    Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

                    Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                    Regards, Sander

                    1 Reply Last reply
                    0
                    • Sander RosselS Sander Rossel

                      A shame you didn't recognize it. It's an indication that my code is, indeed, 'clever'... Not sure how to make it more readable though (I guess this is the part where it becomes a programming question :laugh: ).

                      Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

                      Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                      Regards, Sander

                      R Offline
                      R Offline
                      RASPeter
                      wrote on last edited by
                      #43

                      Have you considered adding a comment? I find that's generally a good idea for clever code (with or without quotes).

                      Sander RosselS 1 Reply Last reply
                      0
                      • R RASPeter

                        Have you considered adding a comment? I find that's generally a good idea for clever code (with or without quotes).

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

                        It's funny you should say that. While you certainly make a valid point allow me to explain why I don't think that's the solution. If the code is so unclear it needs comments I really think you should stop and have another look at your code. Try rewriting it so that it shouldn't need comments (which is what I did). If there's really nothing else you can do you can use a comment, but I highly discourage it. I've said it before and I'll say it now; comments are the evil of this world :) In fact I've had so much bad experiences with comments that I've written a tip about it a few years ago. If you're interested: Write comments that matter[^]. Thanks for the tip though :thumbsup:

                        Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

                        Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                        Regards, Sander

                        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