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. Software Development forces you to become a pessimist..

Software Development forces you to become a pessimist..

Scheduled Pinned Locked Moved The Lounge
testingdatabasedesignbusinessbeta-testing
20 Posts 16 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.
  • S Sameer Mitra

    I have worked enough years as a software developer to know that what can go wrong usually does go wrong. This usually compels me to unit test each small component as I develop. Today, I felt a bit reckless and wrote a stored procedure, data class, other business logic and the UI without testing. Ran it, expecting to find logical errors, and voila! Everything runs as expected! I become highly suspicious - "This was not supposed to happen! How and why did it work? Surely there is still something not quite right." I think that was a bit too optimistic (and adventurous) for my comfort. Now I am back to tediously testing each small component..

    A Pessimist

    L Offline
    L Offline
    leppie
    wrote on last edited by
    #2

    I think you found out that it is unit testing that makes you pessimistic ;p

    IronScheme
    ((λ (x) `(,x ',x)) '(λ (x) `(,x ',x)))

    L 1 Reply Last reply
    0
    • S Sameer Mitra

      I have worked enough years as a software developer to know that what can go wrong usually does go wrong. This usually compels me to unit test each small component as I develop. Today, I felt a bit reckless and wrote a stored procedure, data class, other business logic and the UI without testing. Ran it, expecting to find logical errors, and voila! Everything runs as expected! I become highly suspicious - "This was not supposed to happen! How and why did it work? Surely there is still something not quite right." I think that was a bit too optimistic (and adventurous) for my comfort. Now I am back to tediously testing each small component..

      A Pessimist

      J Offline
      J Offline
      Joan M
      wrote on last edited by
      #3

      I have a rule of thumb: "if it works at the first attempt it is not well done". X|

      [www.tamautomation.com] Robots, CNC and PLC machines for grinding and polishing.

      1 Reply Last reply
      0
      • S Sameer Mitra

        I have worked enough years as a software developer to know that what can go wrong usually does go wrong. This usually compels me to unit test each small component as I develop. Today, I felt a bit reckless and wrote a stored procedure, data class, other business logic and the UI without testing. Ran it, expecting to find logical errors, and voila! Everything runs as expected! I become highly suspicious - "This was not supposed to happen! How and why did it work? Surely there is still something not quite right." I think that was a bit too optimistic (and adventurous) for my comfort. Now I am back to tediously testing each small component..

        A Pessimist

        M Offline
        M Offline
        Mark_Wallace
        wrote on last edited by
        #4

        That's not pessimism, it's perfectionism. Keep it up.

        I wanna be a eunuchs developer! Pass me a bread knife!

        1 Reply Last reply
        0
        • S Sameer Mitra

          I have worked enough years as a software developer to know that what can go wrong usually does go wrong. This usually compels me to unit test each small component as I develop. Today, I felt a bit reckless and wrote a stored procedure, data class, other business logic and the UI without testing. Ran it, expecting to find logical errors, and voila! Everything runs as expected! I become highly suspicious - "This was not supposed to happen! How and why did it work? Surely there is still something not quite right." I think that was a bit too optimistic (and adventurous) for my comfort. Now I am back to tediously testing each small component..

          A Pessimist

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

          I'm always astonished when a medium sized SP works the first time, simple ones I expect but the more complex ones I expect to have to work on. I use a custom code generator and am continually surprised when I paste the code into the DAL and it works right off.

          Never underestimate the power of human stupidity RAH

          J 1 Reply Last reply
          0
          • S Sameer Mitra

            I have worked enough years as a software developer to know that what can go wrong usually does go wrong. This usually compels me to unit test each small component as I develop. Today, I felt a bit reckless and wrote a stored procedure, data class, other business logic and the UI without testing. Ran it, expecting to find logical errors, and voila! Everything runs as expected! I become highly suspicious - "This was not supposed to happen! How and why did it work? Surely there is still something not quite right." I think that was a bit too optimistic (and adventurous) for my comfort. Now I am back to tediously testing each small component..

            A Pessimist

            H Offline
            H Offline
            hairy_hats
            wrote on last edited by
            #6

            I wrote an Arduino program last night that worked first time. No unit tests required. Just keep writing perfect code and you'll never need to do another unit test, ever! :-D

            L H 2 Replies Last reply
            0
            • L leppie

              I think you found out that it is unit testing that makes you pessimistic ;p

              IronScheme
              ((λ (x) `(,x ',x)) '(λ (x) `(,x ',x)))

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

              leppie wrote:

              I think you found out that it is unit testing that makes you pessimistic

              And User Acceptance Testing makes you either homicidal or suicidal, or a mixture of both.

              Every man can tell how many goats or sheep he possesses, but not how many friends. Shed Petition[^]

              G 1 Reply Last reply
              0
              • H hairy_hats

                I wrote an Arduino program last night that worked first time. No unit tests required. Just keep writing perfect code and you'll never need to do another unit test, ever! :-D

                L Offline
                L Offline
                leppie
                wrote on last edited by
                #8

                Unit testing for Arduino? That would take all the fun out of tinkering ;p

                IronScheme
                ((λ (x) `(,x ',x)) '(λ (x) `(,x ',x)))

                H 1 Reply Last reply
                0
                • S Sameer Mitra

                  I have worked enough years as a software developer to know that what can go wrong usually does go wrong. This usually compels me to unit test each small component as I develop. Today, I felt a bit reckless and wrote a stored procedure, data class, other business logic and the UI without testing. Ran it, expecting to find logical errors, and voila! Everything runs as expected! I become highly suspicious - "This was not supposed to happen! How and why did it work? Surely there is still something not quite right." I think that was a bit too optimistic (and adventurous) for my comfort. Now I am back to tediously testing each small component..

                  A Pessimist

                  P Offline
                  P Offline
                  peterchen
                  wrote on last edited by
                  #9

                  It's been observed that developers need a weird psychological build: pessimistic as in expecting the worst, and most unlikely outcomes, yet with the strength to withstand a permanent stream of tiny frustrations beyond their control. That strength usually requires optimism.

                  FILETIME to time_t
                  | FoldWithUs! | sighist | WhoIncludes - Analyzing C++ include file hierarchy

                  1 Reply Last reply
                  0
                  • L Lost User

                    leppie wrote:

                    I think you found out that it is unit testing that makes you pessimistic

                    And User Acceptance Testing makes you either homicidal or suicidal, or a mixture of both.

                    Every man can tell how many goats or sheep he possesses, but not how many friends. Shed Petition[^]

                    G Offline
                    G Offline
                    Gary R Wheeler
                    wrote on last edited by
                    #10

                    Do you remember the scene at the end of Serenity[^], where River says "My turn!" and leaps through the closing hatch, http://www.youtube.com/watch?v=nAzZoU9tOeY[^]? That's what happens when I get involved with User Acceptance Testing.

                    Software Zen: delete this;

                    1 Reply Last reply
                    0
                    • L leppie

                      Unit testing for Arduino? That would take all the fun out of tinkering ;p

                      IronScheme
                      ((λ (x) `(,x ',x)) '(λ (x) `(,x ',x)))

                      H Offline
                      H Offline
                      hairy_hats
                      wrote on last edited by
                      #11

                      Indeed. :)

                      G 1 Reply Last reply
                      0
                      • M Mycroft Holmes

                        I'm always astonished when a medium sized SP works the first time, simple ones I expect but the more complex ones I expect to have to work on. I use a custom code generator and am continually surprised when I paste the code into the DAL and it works right off.

                        Never underestimate the power of human stupidity RAH

                        J Offline
                        J Offline
                        jschell
                        wrote on last edited by
                        #12

                        Mycroft Holmes wrote:

                        I use a custom code generator and am continually surprised when I paste the code into the DAL and it works right off.

                        Why not generate the DAL? Why not generate the unit tests for the DAL?

                        M 1 Reply Last reply
                        0
                        • J jschell

                          Mycroft Holmes wrote:

                          I use a custom code generator and am continually surprised when I paste the code into the DAL and it works right off.

                          Why not generate the DAL? Why not generate the unit tests for the DAL?

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

                          jschell wrote:

                          Why not generate the DAL

                          I do, but there are always additional methods to be added in after the initial generation and these need to C&P in from the generator.

                          Never underestimate the power of human stupidity RAH

                          J 1 Reply Last reply
                          0
                          • H hairy_hats

                            Indeed. :)

                            G Offline
                            G Offline
                            glennPattonWork3
                            wrote on last edited by
                            #14

                            Which is the only reason for the Adrino

                            1 Reply Last reply
                            0
                            • S Sameer Mitra

                              I have worked enough years as a software developer to know that what can go wrong usually does go wrong. This usually compels me to unit test each small component as I develop. Today, I felt a bit reckless and wrote a stored procedure, data class, other business logic and the UI without testing. Ran it, expecting to find logical errors, and voila! Everything runs as expected! I become highly suspicious - "This was not supposed to happen! How and why did it work? Surely there is still something not quite right." I think that was a bit too optimistic (and adventurous) for my comfort. Now I am back to tediously testing each small component..

                              A Pessimist

                              A Offline
                              A Offline
                              agolddog
                              wrote on last edited by
                              #15

                              I'm not sure it's pessimism, exactly. I think pessimism is, "we're screwed and we'll never find a way out." I think what you're describing sounds like thorough development. "Hmm, the standard case works the first time. Now, what about non-standard cases?" Nice job on keeping after it.

                              1 Reply Last reply
                              0
                              • S Sameer Mitra

                                I have worked enough years as a software developer to know that what can go wrong usually does go wrong. This usually compels me to unit test each small component as I develop. Today, I felt a bit reckless and wrote a stored procedure, data class, other business logic and the UI without testing. Ran it, expecting to find logical errors, and voila! Everything runs as expected! I become highly suspicious - "This was not supposed to happen! How and why did it work? Surely there is still something not quite right." I think that was a bit too optimistic (and adventurous) for my comfort. Now I am back to tediously testing each small component..

                                A Pessimist

                                S Offline
                                S Offline
                                SeattleC
                                wrote on last edited by
                                #16

                                Not pessimism; experience. You're seeing all the rocks and shoals, but it's for the purpose of steering a safe course to your goal. I too am mildly superstitious when a big chunk of code works (or even compiles) first time. Perhaps the discipline involved in writing testable code improves the odds of untested code working. Yeah, that's it.

                                1 Reply Last reply
                                0
                                • H hairy_hats

                                  I wrote an Arduino program last night that worked first time. No unit tests required. Just keep writing perfect code and you'll never need to do another unit test, ever! :-D

                                  H Offline
                                  H Offline
                                  Harley L Pebley
                                  wrote on last edited by
                                  #17

                                  I haven't used it yet, but a friend pointed me to arduinounit[^].

                                  1 Reply Last reply
                                  0
                                  • S Sameer Mitra

                                    I have worked enough years as a software developer to know that what can go wrong usually does go wrong. This usually compels me to unit test each small component as I develop. Today, I felt a bit reckless and wrote a stored procedure, data class, other business logic and the UI without testing. Ran it, expecting to find logical errors, and voila! Everything runs as expected! I become highly suspicious - "This was not supposed to happen! How and why did it work? Surely there is still something not quite right." I think that was a bit too optimistic (and adventurous) for my comfort. Now I am back to tediously testing each small component..

                                    A Pessimist

                                    R Offline
                                    R Offline
                                    RafagaX
                                    wrote on last edited by
                                    #18

                                    Finally you have earned a degree of mastery that will let you throw your old clumsy tools and be one with your code, don't deny what you have won and deliver yourself to this moment... :laugh:

                                    CEO at: - Rafaga Systems - Para Facturas - Modern Components for the moment...

                                    1 Reply Last reply
                                    0
                                    • S Sameer Mitra

                                      I have worked enough years as a software developer to know that what can go wrong usually does go wrong. This usually compels me to unit test each small component as I develop. Today, I felt a bit reckless and wrote a stored procedure, data class, other business logic and the UI without testing. Ran it, expecting to find logical errors, and voila! Everything runs as expected! I become highly suspicious - "This was not supposed to happen! How and why did it work? Surely there is still something not quite right." I think that was a bit too optimistic (and adventurous) for my comfort. Now I am back to tediously testing each small component..

                                      A Pessimist

                                      E Offline
                                      E Offline
                                      Ed Hastings
                                      wrote on last edited by
                                      #19

                                      Unit tests are great, especially for important logic, but we all coded for years before unit tests were en vogue and not all of the code was bad. If you are a competent developer working within your area of expertise on something of moderate scale the logic _should_ work the first time you write it, or with minimal fiddling. Unit tests don't add much to this scenario in the short term. The value of the unit tests in this scenario would be for other developers or yourself making changes to this logic or logic that integrates with it later on, doing refactors, ensuring any invariants / requirements are met / enforced, and so forth. For me, while unit tests have some value all the time, they offer the most value when I'm doing something exploratory, working out API's for libraries, writing low level logic that other logic will depend on, when working on teams, when I fully intend to write the initial logic and throw it over the wall to others, and so forth.

                                      1 Reply Last reply
                                      0
                                      • M Mycroft Holmes

                                        jschell wrote:

                                        Why not generate the DAL

                                        I do, but there are always additional methods to be added in after the initial generation and these need to C&P in from the generator.

                                        Never underestimate the power of human stupidity RAH

                                        J Offline
                                        J Offline
                                        jschell
                                        wrote on last edited by
                                        #20

                                        Mycroft Holmes wrote:

                                        I do, but there are always additional methods to be added in after the initial generation and these need to C&P in from the generator.

                                        Sounds like the generator could use some additional work then. Perhaps it should generate helper classes. Or perhaps use a two layer DAL via partial classes. (Should note that I have been creating custom code generators for more than 15 years and most of the time those are DALs and associated code.

                                        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