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. Why you shouldn't inherit someone else's code...

Why you shouldn't inherit someone else's code...

Scheduled Pinned Locked Moved The Lounge
csharpjavascriptlinqcomsysadmin
45 Posts 19 Posters 51 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.
  • D Dean Roddey

    Seems like it would be a very unresponsive message pump, given the half second interval between processing events.

    Explorans limites defectum

    R Offline
    R Offline
    RickZeeland
    wrote on last edited by
    #5

    You can even listen to a song during that time: The Half Second Song[^] :-\

    1 Reply Last reply
    0
    • R RickZeeland

      Application.DoEvents() is used to keep a Winforms GUI responsive, otherwise in a tight loop it will freeze. Agree with you on the English Windows version, just can't stand Windows Dutch translation :)

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

      I know what DoEvents does, but why would you need it in the first place? X| And in a loop? With a Thread.Sleep? I should add that the class in which it is used is not even a Form.

      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

        I just spent over an hour fixing some custom DateTime TextBox that only worked if the system clock was in a specific Dutch format (both CurrentCulture and CurrentUICulture had to match) X| I'm sure it all works at the customer (for now), but as a developer I prefer having my OS in English because it's more Googleable. And I REALLY don't know what to make of this :~

        smtp.Send(mail)
        For n = 1 To 10
        Thread.Sleep(500)
        Application.DoEvents()
        Next

        I wanted to apply the boy scout rule, but that's a full time job X| There's new work (and a new customer) in it for me though. Probably a new web or mobile application hosted in Azure :D

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

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

        "Application.DoEvents" ... i remember that one well; it was a mantra we used to sprinkle liberally on VB code (the dinosaur VB of the late neolithic, that is) when things got weird (and, they always got weird).

        «One day it will have to be officially admitted that what we have christened reality is an even greater illusion than the world of dreams.» Salvador Dali

        1 Reply Last reply
        0
        • Sander RosselS Sander Rossel

          I just spent over an hour fixing some custom DateTime TextBox that only worked if the system clock was in a specific Dutch format (both CurrentCulture and CurrentUICulture had to match) X| I'm sure it all works at the customer (for now), but as a developer I prefer having my OS in English because it's more Googleable. And I REALLY don't know what to make of this :~

          smtp.Send(mail)
          For n = 1 To 10
          Thread.Sleep(500)
          Application.DoEvents()
          Next

          I wanted to apply the boy scout rule, but that's a full time job X| There's new work (and a new customer) in it for me though. Probably a new web or mobile application hosted in Azure :D

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

          L Offline
          L Offline
          Lost User
          wrote on last edited by
          #8

          It could be worse in case of c++... I faced the situation when inherited from a class which implement a method "Sleep". For a lazy implementation while inheriting from that class I called Sleep in the assumption I'm calling the W32 Sleep. But instead of, it ended in something like this:

          for (i = 0; i < 5; i++)
          {
          ProcessMessages();
          ::Sleep(0.2 * cnMilliseconds);
          ProcessMessages();
          }

          I could kill that beast X|

          It does not solve my Problem, but it answers my question

          K 1 Reply Last reply
          0
          • Sander RosselS Sander Rossel

            I just spent over an hour fixing some custom DateTime TextBox that only worked if the system clock was in a specific Dutch format (both CurrentCulture and CurrentUICulture had to match) X| I'm sure it all works at the customer (for now), but as a developer I prefer having my OS in English because it's more Googleable. And I REALLY don't know what to make of this :~

            smtp.Send(mail)
            For n = 1 To 10
            Thread.Sleep(500)
            Application.DoEvents()
            Next

            I wanted to apply the boy scout rule, but that's a full time job X| There's new work (and a new customer) in it for me though. Probably a new web or mobile application hosted in Azure :D

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

            L Offline
            L Offline
            Lost User
            wrote on last edited by
            #9

            Some smtp systems don't like receiving too many send requests too close together, so you got to spread them out if say sending bulk individualized email. (if you're relying on your ISP's mail handlers to send they purposely force inter-message delays to avoid spammers - often they'll let 5-10 go but then force you to wait before the next one will be allowed.) I dealt with such myself for a client, needed to send monthly billing invoices (tens to few hundreds each day). Luckily in my case this ran overnight [batch job] so while I did have to incorporate a single (not loop of) 1/2 second sleep between messages. Actually I could reduce that down to 1/10th second, but being overnight why ride the edge? I didn't want to push it and get bitten by say network spikes etc - at 1/2 sec worst possible case would be couple of hours. As to doing it in a loop (not defending it, just saying) - amateurish way to enable easier tuning i.e. "perhaps 9 loops of 450 will still be OK" ... big-wheel-small-wheel tuning. Something like the [old non digital] radios that have 2 tuning knobs: "tuning" & "fine tuning."

            Message Signature (Click to edit ->)

            Sander RosselS 1 Reply Last reply
            0
            • Sander RosselS Sander Rossel

              I just spent over an hour fixing some custom DateTime TextBox that only worked if the system clock was in a specific Dutch format (both CurrentCulture and CurrentUICulture had to match) X| I'm sure it all works at the customer (for now), but as a developer I prefer having my OS in English because it's more Googleable. And I REALLY don't know what to make of this :~

              smtp.Send(mail)
              For n = 1 To 10
              Thread.Sleep(500)
              Application.DoEvents()
              Next

              I wanted to apply the boy scout rule, but that's a full time job X| There's new work (and a new customer) in it for me though. Probably a new web or mobile application hosted in Azure :D

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

              L Offline
              L Offline
              Lost User
              wrote on last edited by
              #10

              I prefer the projects that have been going for a few years, and which has had multiple developers. You learn more from a brownfield than from a greenfield. Some applications contain more man-hours in knowledge than I can afford to spend. So, you might not enjoy that particular work, but that's not a good generic reason for everyone to decline such an inheritance (which is what the title seemed to suggest to me).

              Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^] "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.

              Greg UtasG Sander RosselS 2 Replies Last reply
              0
              • L Lost User

                I prefer the projects that have been going for a few years, and which has had multiple developers. You learn more from a brownfield than from a greenfield. Some applications contain more man-hours in knowledge than I can afford to spend. So, you might not enjoy that particular work, but that's not a good generic reason for everyone to decline such an inheritance (which is what the title seemed to suggest to me).

                Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^] "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.

                Greg UtasG Offline
                Greg UtasG Offline
                Greg Utas
                wrote on last edited by
                #11

                "brownfield"?! :laugh:

                <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
                <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

                L Sander RosselS 2 Replies Last reply
                0
                • Greg UtasG Greg Utas

                  "brownfield"?! :laugh:

                  L Offline
                  L Offline
                  Lost User
                  wrote on last edited by
                  #12

                  Manning | Brownfield Application Development in .NET[^] Sidenote; I reviewed the book before it got published.

                  Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^] "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.

                  Greg UtasG 1 Reply Last reply
                  0
                  • Sander RosselS Sander Rossel

                    I just spent over an hour fixing some custom DateTime TextBox that only worked if the system clock was in a specific Dutch format (both CurrentCulture and CurrentUICulture had to match) X| I'm sure it all works at the customer (for now), but as a developer I prefer having my OS in English because it's more Googleable. And I REALLY don't know what to make of this :~

                    smtp.Send(mail)
                    For n = 1 To 10
                    Thread.Sleep(500)
                    Application.DoEvents()
                    Next

                    I wanted to apply the boy scout rule, but that's a full time job X| There's new work (and a new customer) in it for me though. Probably a new web or mobile application hosted in Azure :D

                    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
                    kalberts
                    wrote on last edited by
                    #13

                    When I was teaching at a tech college, the class was split into four project groups for a four-stage project, all working from the same specifications and requirements. This was the last project in their bachelor study. I wanted them to get accustomed to what they must expect when they enter working life: Take over someone else's code. So for each of the four phases, the results produced by each group was rotated to another group, as a starting point for the next work phase. This was met by so much disgust and hatred that I was happy that these students would be out of college within a few months. I never tried to repeat anything like that. Still, I think Computer Science students should have been "forced to" work with the code of other programmers - that is, average middle class programmers, not the near-ideal source code of highly recognized open source systems, which does everything right, follows standards conistently etc. The code handed over to you from an overworked colleague who never had time to clean it up, it never had a clean design but has grown uncontrollably like an amoebae, with lots of loose ends and age-old TODOs... That is far from the idealized, academic open-source code. And then think of all the _non-_idealized code of the zillions of open source offerings made by less than perfect programmers, but thrown out to the world in the hope that someone will volunteer to clean it up...

                    Sander RosselS Greg UtasG 2 Replies Last reply
                    0
                    • L Lost User

                      Some smtp systems don't like receiving too many send requests too close together, so you got to spread them out if say sending bulk individualized email. (if you're relying on your ISP's mail handlers to send they purposely force inter-message delays to avoid spammers - often they'll let 5-10 go but then force you to wait before the next one will be allowed.) I dealt with such myself for a client, needed to send monthly billing invoices (tens to few hundreds each day). Luckily in my case this ran overnight [batch job] so while I did have to incorporate a single (not loop of) 1/2 second sleep between messages. Actually I could reduce that down to 1/10th second, but being overnight why ride the edge? I didn't want to push it and get bitten by say network spikes etc - at 1/2 sec worst possible case would be couple of hours. As to doing it in a loop (not defending it, just saying) - amateurish way to enable easier tuning i.e. "perhaps 9 loops of 450 will still be OK" ... big-wheel-small-wheel tuning. Something like the [old non digital] radios that have 2 tuning knobs: "tuning" & "fine tuning."

                      Message Signature (Click to edit ->)

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

                      However, notice that the SMTP call is NOT in the loop ;) It's just a single email, unless it's called from within a loop (which happens at least once, but at least three times it's just a single email). So... I guess it may be what you're saying, but handled very poorly? :laugh:

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

                      L 1 Reply Last reply
                      0
                      • L Lost User

                        Manning | Brownfield Application Development in .NET[^] Sidenote; I reviewed the book before it got published.

                        Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^] "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.

                        Greg UtasG Offline
                        Greg UtasG Offline
                        Greg Utas
                        wrote on last edited by
                        #15

                        Looks like a very practical book!

                        <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
                        <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

                        L 1 Reply Last reply
                        0
                        • L Lost User

                          I prefer the projects that have been going for a few years, and which has had multiple developers. You learn more from a brownfield than from a greenfield. Some applications contain more man-hours in knowledge than I can afford to spend. So, you might not enjoy that particular work, but that's not a good generic reason for everyone to decline such an inheritance (which is what the title seemed to suggest to me).

                          Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^] "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.

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

                          Not this project. Unless you want to learn how NOT to do things... X| Such inheritance is often a bad deal since you'll be spending two to three times as much time as the old party to fix bugs while the chances of introducing new bugs increases. Meanwhile, you're working half price since you can't invoice all the hours you're making. And if you introduce enough bugs you may end up with an unhappy client. "But the former programmer made a mess out of things!" is not a valid excuse. Like today I had to "just fix a form, everything worked except a value was not saved to the database." Opening the form revealed it had all kinds of buttons that did nothing (or worse, did something) and shouldn't be there. There was binding in place, but everything was inserted directly into the controls. So I added something to the binding, then the application crashed because you can't do both, then I removed the binding and the designer thought it necessary to reflect that... Long story short, after trying to make it work for about an hour I started over, finding not even the database schema was correct. It took me about four hours in total (which should've been a "quick fix"), which is more than the customer is going to pay me for this one :rolleyes: If that was all, I could've gotten away with it, but this is one of many such changes.

                          Eddy Vluggen wrote:

                          that's not a good generic reason for everyone to decline such an inheritance

                          Of course. I inherited is as well, after all. You just need a damn good reason (and I know a lot of companies that simply don't, ever) :rolleyes:

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

                          L 1 Reply Last reply
                          0
                          • K kalberts

                            When I was teaching at a tech college, the class was split into four project groups for a four-stage project, all working from the same specifications and requirements. This was the last project in their bachelor study. I wanted them to get accustomed to what they must expect when they enter working life: Take over someone else's code. So for each of the four phases, the results produced by each group was rotated to another group, as a starting point for the next work phase. This was met by so much disgust and hatred that I was happy that these students would be out of college within a few months. I never tried to repeat anything like that. Still, I think Computer Science students should have been "forced to" work with the code of other programmers - that is, average middle class programmers, not the near-ideal source code of highly recognized open source systems, which does everything right, follows standards conistently etc. The code handed over to you from an overworked colleague who never had time to clean it up, it never had a clean design but has grown uncontrollably like an amoebae, with lots of loose ends and age-old TODOs... That is far from the idealized, academic open-source code. And then think of all the _non-_idealized code of the zillions of open source offerings made by less than perfect programmers, but thrown out to the world in the hope that someone will volunteer to clean it up...

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

                            That's the evilest thing I can imagine! :laugh: It should be a very good lesson though. Especially with students, so they get to see other code as well. Perhaps even the most valuable lesson they get. I learned a lot from other code, also how NOT to do things :thumbsup:

                            Member 7989122 wrote:

                            This was met by so much disgust and hatred

                            They're students, let them suck it up and tell them that's how it's going to be! X| I salute and support your unorthodox and cruel teaching methods! :laugh:

                            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
                            • D Dean Roddey

                              Seems like it would be a very unresponsive message pump, given the half second interval between processing events.

                              Explorans limites defectum

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

                              At least emailing is something that the user expects to take a few moments... X|

                              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
                              • Greg UtasG Greg Utas

                                Looks like a very practical book!

                                L Offline
                                L Offline
                                Lost User
                                wrote on last edited by
                                #19

                                I could say it is, but that sounds like an ad :D If you have to work with inherited code, then it might be a good investment for your team-library :thumbsup:

                                Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^] "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.

                                1 Reply Last reply
                                0
                                • K kalberts

                                  When I was teaching at a tech college, the class was split into four project groups for a four-stage project, all working from the same specifications and requirements. This was the last project in their bachelor study. I wanted them to get accustomed to what they must expect when they enter working life: Take over someone else's code. So for each of the four phases, the results produced by each group was rotated to another group, as a starting point for the next work phase. This was met by so much disgust and hatred that I was happy that these students would be out of college within a few months. I never tried to repeat anything like that. Still, I think Computer Science students should have been "forced to" work with the code of other programmers - that is, average middle class programmers, not the near-ideal source code of highly recognized open source systems, which does everything right, follows standards conistently etc. The code handed over to you from an overworked colleague who never had time to clean it up, it never had a clean design but has grown uncontrollably like an amoebae, with lots of loose ends and age-old TODOs... That is far from the idealized, academic open-source code. And then think of all the _non-_idealized code of the zillions of open source offerings made by less than perfect programmers, but thrown out to the world in the hope that someone will volunteer to clean it up...

                                  Greg UtasG Offline
                                  Greg UtasG Offline
                                  Greg Utas
                                  wrote on last edited by
                                  #20

                                  A brilliant idea, although the reaction was unsurprising. Having to suffer through this three times was cruel, but applying it to a two-stage project would be fair. If told up front that it would rankle them, it would probably temper the reaction.

                                  <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
                                  <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

                                  C 1 Reply Last reply
                                  0
                                  • Sander RosselS Sander Rossel

                                    Not this project. Unless you want to learn how NOT to do things... X| Such inheritance is often a bad deal since you'll be spending two to three times as much time as the old party to fix bugs while the chances of introducing new bugs increases. Meanwhile, you're working half price since you can't invoice all the hours you're making. And if you introduce enough bugs you may end up with an unhappy client. "But the former programmer made a mess out of things!" is not a valid excuse. Like today I had to "just fix a form, everything worked except a value was not saved to the database." Opening the form revealed it had all kinds of buttons that did nothing (or worse, did something) and shouldn't be there. There was binding in place, but everything was inserted directly into the controls. So I added something to the binding, then the application crashed because you can't do both, then I removed the binding and the designer thought it necessary to reflect that... Long story short, after trying to make it work for about an hour I started over, finding not even the database schema was correct. It took me about four hours in total (which should've been a "quick fix"), which is more than the customer is going to pay me for this one :rolleyes: If that was all, I could've gotten away with it, but this is one of many such changes.

                                    Eddy Vluggen wrote:

                                    that's not a good generic reason for everyone to decline such an inheritance

                                    Of course. I inherited is as well, after all. You just need a damn good reason (and I know a lot of companies that simply don't, ever) :rolleyes:

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

                                    L Offline
                                    L Offline
                                    Lost User
                                    wrote on last edited by
                                    #21

                                    Sander Rossel wrote:

                                    Unless you want to learn how NOT to do things... X|

                                    Learning is learning. Imagine a project, over 10 devs, over 10 yrs old. In VB6. Don't complain about some idiot storing bools as a list of strings in a database ("0010101010101000010101"), because the idiot might be your boss.

                                    Sander Rossel wrote:

                                    Meanwhile, you're working half price since you can't invoice all the hours you're making.

                                    Your own choice. I get paid for the actual hours I work.

                                    Sander Rossel wrote:

                                    And if you introduce enough bugs you may end up with an unhappy client.

                                    Who'd expect that? :omg:

                                    Sander Rossel wrote:

                                    Like today I had to "just fix a form, everything worked except a value was not saved to the database." Opening the form revealed it had all kinds of buttons that did nothing (or worse, did something) and shouldn't be there.

                                    Sometimes a fix is more expensive than expected. Just add it to the bill, it's what any car-mechanic would do. Why don't you?

                                    Sander Rossel wrote:

                                    Long story short, after trying to make it work for about an hour I started over, finding not even the database schema was correct. It took me about four hours in total (which should've been a "quick fix"), which is more than the customer is going to pay me for this one :rolleyes:

                                    If you want to be an entrepeneur, you take risc. I'm just a simple slave, so I don't know about riscs.

                                    Sander Rossel wrote:

                                    You just need a damn good reason (and I know a lot of companies that simply don't, ever) :rolleyes:

                                    I don't need a reason, I do what I am paid for. I can point you to companies that don't exist anymore because they believed a rewrite was needed :) You good at greenfields, me good at brownfields; a good team has balance :thumbsup:

                                    Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^] "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.

                                    Sander RosselS 1 Reply Last reply
                                    0
                                    • L Lost User

                                      Sander Rossel wrote:

                                      Unless you want to learn how NOT to do things... X|

                                      Learning is learning. Imagine a project, over 10 devs, over 10 yrs old. In VB6. Don't complain about some idiot storing bools as a list of strings in a database ("0010101010101000010101"), because the idiot might be your boss.

                                      Sander Rossel wrote:

                                      Meanwhile, you're working half price since you can't invoice all the hours you're making.

                                      Your own choice. I get paid for the actual hours I work.

                                      Sander Rossel wrote:

                                      And if you introduce enough bugs you may end up with an unhappy client.

                                      Who'd expect that? :omg:

                                      Sander Rossel wrote:

                                      Like today I had to "just fix a form, everything worked except a value was not saved to the database." Opening the form revealed it had all kinds of buttons that did nothing (or worse, did something) and shouldn't be there.

                                      Sometimes a fix is more expensive than expected. Just add it to the bill, it's what any car-mechanic would do. Why don't you?

                                      Sander Rossel wrote:

                                      Long story short, after trying to make it work for about an hour I started over, finding not even the database schema was correct. It took me about four hours in total (which should've been a "quick fix"), which is more than the customer is going to pay me for this one :rolleyes:

                                      If you want to be an entrepeneur, you take risc. I'm just a simple slave, so I don't know about riscs.

                                      Sander Rossel wrote:

                                      You just need a damn good reason (and I know a lot of companies that simply don't, ever) :rolleyes:

                                      I don't need a reason, I do what I am paid for. I can point you to companies that don't exist anymore because they believed a rewrite was needed :) You good at greenfields, me good at brownfields; a good team has balance :thumbsup:

                                      Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^] "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.

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

                                      Eddy Vluggen wrote:

                                      Learning is learning

                                      Unfortunately, no one comments their code with "This is bad code, so don't ever do this. Instead do..." I'm now knowledgeable enough to know this code is bad, but I started out with code like this and back then I didn't know any better. It's a sort of learning, I guess, but not nearly as effective as being in a good team with good programmers who know their stuff. At least I knew what SQL injection was when I read that I shouldn't do that anymore :laugh: So with this project I'm not learning anything.

                                      Eddy Vluggen wrote:

                                      Your own choice. I get paid for the actual hours I work.

                                      In this particular case this new client will give me some new projects in the new year. Which they probably won't do if I'm charging two to three times the price their former programmer did. I'm seeing it as an investment while still making some money ;)

                                      Eddy Vluggen wrote:

                                      I don't need a reason, I do what I am paid for.

                                      As a company, it's always a risk taking on projects that were set up by other companies. If I had a boss and he told me to work on this project he decided to inherit, I'd oblige, take my sweet time to get familiar with it, and write down any hours I spent on it. But when I'm asked to take over a project I'll think twice and discuss what's in it for me other than some incidental bug fixing that I'll probably do at half my rate. There's also a big difference between inheriting a project from a coworker who's still around for questions and a project that was written by a different company. The former is way more awkward when you're complaining about your apparently dumb coworker who obviously doesn't understand what the hell he's doing :laugh:

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

                                      L 1 Reply Last reply
                                      0
                                      • Sander RosselS Sander Rossel

                                        Eddy Vluggen wrote:

                                        Learning is learning

                                        Unfortunately, no one comments their code with "This is bad code, so don't ever do this. Instead do..." I'm now knowledgeable enough to know this code is bad, but I started out with code like this and back then I didn't know any better. It's a sort of learning, I guess, but not nearly as effective as being in a good team with good programmers who know their stuff. At least I knew what SQL injection was when I read that I shouldn't do that anymore :laugh: So with this project I'm not learning anything.

                                        Eddy Vluggen wrote:

                                        Your own choice. I get paid for the actual hours I work.

                                        In this particular case this new client will give me some new projects in the new year. Which they probably won't do if I'm charging two to three times the price their former programmer did. I'm seeing it as an investment while still making some money ;)

                                        Eddy Vluggen wrote:

                                        I don't need a reason, I do what I am paid for.

                                        As a company, it's always a risk taking on projects that were set up by other companies. If I had a boss and he told me to work on this project he decided to inherit, I'd oblige, take my sweet time to get familiar with it, and write down any hours I spent on it. But when I'm asked to take over a project I'll think twice and discuss what's in it for me other than some incidental bug fixing that I'll probably do at half my rate. There's also a big difference between inheriting a project from a coworker who's still around for questions and a project that was written by a different company. The former is way more awkward when you're complaining about your apparently dumb coworker who obviously doesn't understand what the hell he's doing :laugh:

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

                                        L Offline
                                        L Offline
                                        Lost User
                                        wrote on last edited by
                                        #23

                                        Sander Rossel wrote:

                                        I guess, but not nearly as effective as being in a good team with good programmers who know their stuff. At least I knew what SQL injection was when I read that I shouldn't do that anymore :laugh: So with this project I'm not learning anything.

                                        You learning what can go wrong, and the most common pitfalls.

                                        Sander Rossel wrote:

                                        In this particular case this new client will give me some new projects in the new year. Which they probably won't do if I'm charging two to three times the price their former programmer did. I'm seeing it as an investment while still making some money ;)

                                        That's management-voodoo. As a worker, you get asked back only if you deliver.

                                        Sander Rossel wrote:

                                        As a company, it's always a risk taking on projects that were set up by other companies.

                                        Like buying company shares blindfolded, usually. It's not like they look at the code they are buying :D

                                        Sander Rossel wrote:

                                        There's also a big difference between inheriting a project from a coworker who's still around for questions and a project that was written by a different company. The former is way more awkward when you're complaining about your apparently dumb coworker who obviously doesn't understand what the hell he's doing :laugh:

                                        Doesn't matter to the employer. Explain they made a bad investment before, and that you're expensive because you fix it. Don't like it? Find someone else to fix it.

                                        Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^] "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.

                                        Sander RosselS 1 Reply Last reply
                                        0
                                        • L Lost User

                                          Sander Rossel wrote:

                                          I guess, but not nearly as effective as being in a good team with good programmers who know their stuff. At least I knew what SQL injection was when I read that I shouldn't do that anymore :laugh: So with this project I'm not learning anything.

                                          You learning what can go wrong, and the most common pitfalls.

                                          Sander Rossel wrote:

                                          In this particular case this new client will give me some new projects in the new year. Which they probably won't do if I'm charging two to three times the price their former programmer did. I'm seeing it as an investment while still making some money ;)

                                          That's management-voodoo. As a worker, you get asked back only if you deliver.

                                          Sander Rossel wrote:

                                          As a company, it's always a risk taking on projects that were set up by other companies.

                                          Like buying company shares blindfolded, usually. It's not like they look at the code they are buying :D

                                          Sander Rossel wrote:

                                          There's also a big difference between inheriting a project from a coworker who's still around for questions and a project that was written by a different company. The former is way more awkward when you're complaining about your apparently dumb coworker who obviously doesn't understand what the hell he's doing :laugh:

                                          Doesn't matter to the employer. Explain they made a bad investment before, and that you're expensive because you fix it. Don't like it? Find someone else to fix it.

                                          Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^] "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.

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

                                          Eddy Vluggen wrote:

                                          That's management-voodoo

                                          As it happens, I manage my own company ;)

                                          Eddy Vluggen wrote:

                                          Don't like it? Find someone else to fix it.

                                          With my fresh few months old company I'm not in any position to refuse clients at this moment :laugh:

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

                                          L 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