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. Best practices

Best practices

Scheduled Pinned Locked Moved The Lounge
testingquestioncsharpcollaborationarchitecture
26 Posts 14 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.
  • N Offline
    N Offline
    Nicholas Butler
    wrote on last edited by
    #1

    I have been working on a VB Web App for the last few months ( pity please ). We have moved from .Net 1.1 to 2.0 and split it into a 3-layer architecture - all good things :) The company has seen the light and is willing to invest in current best practices to create a more robust ( reliable and scalable ) product, and to reduce lifecycle costs. So my question is: What do people use / recommend? We have decided to write unit tests - for the existing code and to enable TDD for future work, but I only know about NUnit and MbUnit and development seems to have stopped on both of these. So what are people using for a unit test framework nowadays? Reasonable costs are acceptable ( so Team System is not )...

    ---------------------------- Be excellent to each other :)

    T A R K 5 Replies Last reply
    0
    • N Nicholas Butler

      I have been working on a VB Web App for the last few months ( pity please ). We have moved from .Net 1.1 to 2.0 and split it into a 3-layer architecture - all good things :) The company has seen the light and is willing to invest in current best practices to create a more robust ( reliable and scalable ) product, and to reduce lifecycle costs. So my question is: What do people use / recommend? We have decided to write unit tests - for the existing code and to enable TDD for future work, but I only know about NUnit and MbUnit and development seems to have stopped on both of these. So what are people using for a unit test framework nowadays? Reasonable costs are acceptable ( so Team System is not )...

      ---------------------------- Be excellent to each other :)

      T Offline
      T Offline
      Tim Craig
      wrote on last edited by
      #2

      I've never understood the appeal of pair programming. I couldn't think of anything more boring than watching someone else code or more annoying than having someone looking over my shoulder.

      The evolution of the human genome is too important to be left to chance.

      W S R J C 10 Replies Last reply
      0
      • T Tim Craig

        I've never understood the appeal of pair programming. I couldn't think of anything more boring than watching someone else code or more annoying than having someone looking over my shoulder.

        The evolution of the human genome is too important to be left to chance.

        W Offline
        W Offline
        WillemM
        wrote on last edited by
        #3

        I totally agree, I had to do it a few times myself and it is really boring, and utterly useless if you ask me. If you have to check eachother, I suggest you do codereviews of eachothers work. We did this in the last project and gave me a more pleasant feeling, because I could do my work without being disturbed by questions, while my work was still being checked for correctness and code style.

        WM. What about weapons of mass-construction? "You can always try to smash it with a wrench to fix that. It might actually work" - WillemM

        1 Reply Last reply
        0
        • T Tim Craig

          I've never understood the appeal of pair programming. I couldn't think of anything more boring than watching someone else code or more annoying than having someone looking over my shoulder.

          The evolution of the human genome is too important to be left to chance.

          S Offline
          S Offline
          StockportJambo
          wrote on last edited by
          #4

          Yup. Pair programming is the perfect way to double the cost of software development IMO. What we do instead at our company is code reviews. One developer writes the code, along with the unit tests, and then before it is integrated into the main solution in source control it's passed to another (usually more senior) developer who checks it. Much quicker, easier, less intrusive - and you still get the quality control.

          1 Reply Last reply
          0
          • T Tim Craig

            I've never understood the appeal of pair programming. I couldn't think of anything more boring than watching someone else code or more annoying than having someone looking over my shoulder.

            The evolution of the human genome is too important to be left to chance.

            R Offline
            R Offline
            R Giskard Reventlov
            wrote on last edited by
            #5

            Been there, done it, beat the (proverbial) crap out of the irksome little twat after a few days of inane, unhelpful and annoying chatter. They'll never try that again.

            home
            bookmarks

            1 Reply Last reply
            0
            • N Nicholas Butler

              I have been working on a VB Web App for the last few months ( pity please ). We have moved from .Net 1.1 to 2.0 and split it into a 3-layer architecture - all good things :) The company has seen the light and is willing to invest in current best practices to create a more robust ( reliable and scalable ) product, and to reduce lifecycle costs. So my question is: What do people use / recommend? We have decided to write unit tests - for the existing code and to enable TDD for future work, but I only know about NUnit and MbUnit and development seems to have stopped on both of these. So what are people using for a unit test framework nowadays? Reasonable costs are acceptable ( so Team System is not )...

              ---------------------------- Be excellent to each other :)

              A Offline
              A Offline
              Anna Jayne Metcalfe
              wrote on last edited by
              #6

              I can't speak for MbUnit, but a new version of NUnit (2.2.9) was released a couple of weeks ago. We're using it (with tests in Managed C++) to check native code, and so far it's working really well. :)

              Anna :rose: Linting the day away :cool: Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"

              N 1 Reply Last reply
              0
              • A Anna Jayne Metcalfe

                I can't speak for MbUnit, but a new version of NUnit (2.2.9) was released a couple of weeks ago. We're using it (with tests in Managed C++) to check native code, and so far it's working really well. :)

                Anna :rose: Linting the day away :cool: Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"

                N Offline
                N Offline
                Nicholas Butler
                wrote on last edited by
                #7

                Missed that :doh: Thanks for the heads-up Anna. Does anyone have any war-stories about NUnitAsp?

                ---------------------------- Be excellent to each other :)

                A 1 Reply Last reply
                0
                • N Nicholas Butler

                  I have been working on a VB Web App for the last few months ( pity please ). We have moved from .Net 1.1 to 2.0 and split it into a 3-layer architecture - all good things :) The company has seen the light and is willing to invest in current best practices to create a more robust ( reliable and scalable ) product, and to reduce lifecycle costs. So my question is: What do people use / recommend? We have decided to write unit tests - for the existing code and to enable TDD for future work, but I only know about NUnit and MbUnit and development seems to have stopped on both of these. So what are people using for a unit test framework nowadays? Reasonable costs are acceptable ( so Team System is not )...

                  ---------------------------- Be excellent to each other :)

                  R Offline
                  R Offline
                  Russell Jones
                  wrote on last edited by
                  #8

                  I used N-unit on my last project and was really impressed with it. I wouldn't advise Pair programming but what I have done before is to get the app design thrashed out by a group. That way everyone goes away with a set of interfaces to work to. The coders on each side of every inteface then know who is going to be providing / consuming that interface and can discuss the finer points later. If you are using UML or similar you need to make sure the documentation gets updated with changes, it's really confusing to pull out a diagram only to find it bears no resemblance to the code you see on the screen. The important thing with a unit testing structure is to get the boundary conditions right. This should all be sorted out in the early design phases. eg for a SQRT function: test -1,0,1E-35,12345678910. If the answers are floats / doubles decide on your allowable tolerance and check the return is within range rather than exact. It has been known for different processors to return very slightly different results, especially if they are using 64 bit under the covers without telling you. Later on, when you need to refactor you need to make sure that all tests pass before you start. I had a few refactoring issues where the test failed before so we assumed it was OK when it failed second time round only to discover that a subtle different bug was responsible for the error second time round. Most of all i would suggest not making too many or too great changes at one step eg. Add N-unit to a class or small group of classes you think will benefit from it and see how it works; Start using UML sequence diagrams for N-tier communications, then introduce different diagrams later; Automate your build process, later automat the unit tests and produce a build reults webpage. Break any changes down into small discreet and manageable steps, implement them in a little way, get used to them, see if you think they work for you and them build on them if they are good. Sorry for the long waffle Russell

                  1 Reply Last reply
                  0
                  • T Tim Craig

                    I've never understood the appeal of pair programming. I couldn't think of anything more boring than watching someone else code or more annoying than having someone looking over my shoulder.

                    The evolution of the human genome is too important to be left to chance.

                    J Offline
                    J Offline
                    Jorgen Sigvardsson
                    wrote on last edited by
                    #9

                    It depends on whom you are working with, and what stage of development it is. If it's exploratory/prototyping, it can be quite rewarding. In my main line development however, two is one too much.

                    -- Verletzen zerfetzen zersetzen zerstören Doch es darf nicht mir gehören Ich muss zerstören

                    1 Reply Last reply
                    0
                    • T Tim Craig

                      I've never understood the appeal of pair programming. I couldn't think of anything more boring than watching someone else code or more annoying than having someone looking over my shoulder.

                      The evolution of the human genome is too important to be left to chance.

                      C Offline
                      C Offline
                      Colin Angus Mackay
                      wrote on last edited by
                      #10

                      Tim Craig wrote:

                      I've never understood the appeal of pair programming

                      The main advantage of pair programming is knowledge transfer. It isn't something that I see happening constantly throughout a project but on an occasional basis. The idea is fairly simple. Someone has been working on part of a project and someone else needs to know what's what in order to integrate their code. The pairing then works on the idea of least qualified implements. The person who needs to know sits at the keyboard while the knowledgable person talks them through. If they hit any stumbling blocks they both work through it together. This means that if the "someone else" has to change part of the original code there are at least two people that know about it and it doesn't come as a surprise to the guy who wrote the code originally. This works fairly well if taken on a case-by-case basis.


                      Upcoming Scottish Developers events: * Glasgow: Tell us what you want to see in 2007 My: Website | Blog | Photos

                      T 1 Reply Last reply
                      0
                      • T Tim Craig

                        I've never understood the appeal of pair programming. I couldn't think of anything more boring than watching someone else code or more annoying than having someone looking over my shoulder.

                        The evolution of the human genome is too important to be left to chance.

                        K Offline
                        K Offline
                        Kevin McFarlane
                        wrote on last edited by
                        #11

                        Tim Craig wrote:

                        I've never understood the appeal of pair programming.

                        It's certainly one of, if not the, most unintuitive parts of agile development/XP!

                        Kevin

                        1 Reply Last reply
                        0
                        • N Nicholas Butler

                          I have been working on a VB Web App for the last few months ( pity please ). We have moved from .Net 1.1 to 2.0 and split it into a 3-layer architecture - all good things :) The company has seen the light and is willing to invest in current best practices to create a more robust ( reliable and scalable ) product, and to reduce lifecycle costs. So my question is: What do people use / recommend? We have decided to write unit tests - for the existing code and to enable TDD for future work, but I only know about NUnit and MbUnit and development seems to have stopped on both of these. So what are people using for a unit test framework nowadays? Reasonable costs are acceptable ( so Team System is not )...

                          ---------------------------- Be excellent to each other :)

                          K Offline
                          K Offline
                          Kevin McFarlane
                          wrote on last edited by
                          #12

                          Nicholas Butler wrote:

                          I only know about NUnit and MbUnit and development seems to have stopped on both of these.

                          Not so. Although MbUnit seems to be progressing slowly. I did spot a 2.3 RC2 that's recent though. I've never used MbUnit. Which do you think is better?

                          Kevin

                          1 Reply Last reply
                          0
                          • N Nicholas Butler

                            Missed that :doh: Thanks for the heads-up Anna. Does anyone have any war-stories about NUnitAsp?

                            ---------------------------- Be excellent to each other :)

                            A Offline
                            A Offline
                            Anna Jayne Metcalfe
                            wrote on last edited by
                            #13

                            Anytime. I lurk on the TDD Yahoo Group, so I heard about it quicker than most. ;)

                            Anna :rose: Linting the day away :cool: Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"

                            1 Reply Last reply
                            0
                            • N Nicholas Butler

                              I have been working on a VB Web App for the last few months ( pity please ). We have moved from .Net 1.1 to 2.0 and split it into a 3-layer architecture - all good things :) The company has seen the light and is willing to invest in current best practices to create a more robust ( reliable and scalable ) product, and to reduce lifecycle costs. So my question is: What do people use / recommend? We have decided to write unit tests - for the existing code and to enable TDD for future work, but I only know about NUnit and MbUnit and development seems to have stopped on both of these. So what are people using for a unit test framework nowadays? Reasonable costs are acceptable ( so Team System is not )...

                              ---------------------------- Be excellent to each other :)

                              K Offline
                              K Offline
                              Kevin McFarlane
                              wrote on last edited by
                              #14

                              Nicholas Butler wrote:

                              Reasonable costs are acceptable ( so Team System is not )...

                              Two alternatives are: CrusiseControl.NET (free) TeamCity (much cheaper than VSTS) http://www.jetbrains.com/teamcity/[^] Had a little experience with the former but not the latter.

                              Kevin

                              1 Reply Last reply
                              0
                              • T Tim Craig

                                I've never understood the appeal of pair programming. I couldn't think of anything more boring than watching someone else code or more annoying than having someone looking over my shoulder.

                                The evolution of the human genome is too important to be left to chance.

                                D Offline
                                D Offline
                                devvvy
                                wrote on last edited by
                                #15

                                Do you know any company actually do "pair programming"?? I've seen in my past career many "double programming" in which one developer do two persons job but "pair programming"... no.

                                Norman Fung

                                T 1 Reply Last reply
                                0
                                • T Tim Craig

                                  I've never understood the appeal of pair programming. I couldn't think of anything more boring than watching someone else code or more annoying than having someone looking over my shoulder.

                                  The evolution of the human genome is too important to be left to chance.

                                  E Offline
                                  E Offline
                                  ednrgc
                                  wrote on last edited by
                                  #16

                                  I think the practice was brought about by Junior programmers looking over the shoulder of Senior programmers. Then they swap positions and let the Junior programmer have go, under the watchful eye of the senior programmer. The probably developed a sucessful app, and it became practice.

                                  T 1 Reply Last reply
                                  0
                                  • T Tim Craig

                                    I've never understood the appeal of pair programming. I couldn't think of anything more boring than watching someone else code or more annoying than having someone looking over my shoulder.

                                    The evolution of the human genome is too important to be left to chance.

                                    R Offline
                                    R Offline
                                    Rocky Moore
                                    wrote on last edited by
                                    #17

                                    I think pair programming would come in handing during debugging, short code bursts and complex code, but for just plain generic coding, I think it would be overkill.

                                    Rocky <>< Latest Code Blog Post: Vista for Web Development, Read this first! Latest Tech Blog Post: USA City Burnt To Death...

                                    T 1 Reply Last reply
                                    0
                                    • T Tim Craig

                                      I've never understood the appeal of pair programming. I couldn't think of anything more boring than watching someone else code or more annoying than having someone looking over my shoulder.

                                      The evolution of the human genome is too important to be left to chance.

                                      T Offline
                                      T Offline
                                      Todd Smith
                                      wrote on last edited by
                                      #18

                                      For simple programming tasks its a waste imho. But for more challenging applications it can have its advantages.

                                      Todd Smith

                                      1 Reply Last reply
                                      0
                                      • C Colin Angus Mackay

                                        Tim Craig wrote:

                                        I've never understood the appeal of pair programming

                                        The main advantage of pair programming is knowledge transfer. It isn't something that I see happening constantly throughout a project but on an occasional basis. The idea is fairly simple. Someone has been working on part of a project and someone else needs to know what's what in order to integrate their code. The pairing then works on the idea of least qualified implements. The person who needs to know sits at the keyboard while the knowledgable person talks them through. If they hit any stumbling blocks they both work through it together. This means that if the "someone else" has to change part of the original code there are at least two people that know about it and it doesn't come as a surprise to the guy who wrote the code originally. This works fairly well if taken on a case-by-case basis.


                                        Upcoming Scottish Developers events: * Glasgow: Tell us what you want to see in 2007 My: Website | Blog | Photos

                                        T Offline
                                        T Offline
                                        Tim Craig
                                        wrote on last edited by
                                        #19

                                        Colin Angus Mackay wrote:

                                        Someone has been working on part of a project and someone else needs to know what's what in order to integrate their code.

                                        I haven't seen pair programming characterized this way. However, if you need to integrate your code with mine, my code should be documented and written so you should be able to understand it. If it isn't, that's the main problem. If you have specific problems or questions as to how to do your integration, come to me and we can discuss it but don't make me sit there for hours watching you fumble with the keyboard. (Assuming you type like most of the programmers I've seen. ;P )

                                        The evolution of the human genome is too important to be left to chance.

                                        C 1 Reply Last reply
                                        0
                                        • D devvvy

                                          Do you know any company actually do "pair programming"?? I've seen in my past career many "double programming" in which one developer do two persons job but "pair programming"... no.

                                          Norman Fung

                                          T Offline
                                          T Offline
                                          Tim Craig
                                          wrote on last edited by
                                          #20

                                          norm wrote:

                                          Do you know any company actually do "pair programming"??

                                          No, I've never seen it actually done. I've only read about it in the trade rags. As I said, it's always seemed like it would be either boring or annoying depending on which side of the keyboard you're on. And if I'm there nodding off, I'm not contributing to the quality. I'm just more than doubling the cost.

                                          The evolution of the human genome is too important to be left to chance.

                                          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