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. My friend has written a function 831 lines long.

My friend has written a function 831 lines long.

Scheduled Pinned Locked Moved The Lounge
question
43 Posts 25 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.
  • H Hoornet93

    In my company i got the task to modify something in my friend Visual C code. Imagine my surprise when I saw a function 831 linel long!!! Do u know a longer function? Love is the law, love under will.

    W Offline
    W Offline
    Wouter Dhondt
    wrote on last edited by
    #12

    Longest I've seen: around 7400 lines. It's a c++ function to parse a string using a state machine / huge switch (with other switches in the cases). ----------------------- New and improved: kwakkelflap.com My first CP article: Pseudoregisters[^] "When I hear of Schrödinger's cat, I reach for my gun." - Stephen Hawking

    S D 2 Replies Last reply
    0
    • W Wouter Dhondt

      Longest I've seen: around 7400 lines. It's a c++ function to parse a string using a state machine / huge switch (with other switches in the cases). ----------------------- New and improved: kwakkelflap.com My first CP article: Pseudoregisters[^] "When I hear of Schrödinger's cat, I reach for my gun." - Stephen Hawking

      S Offline
      S Offline
      Simon Walton
      wrote on last edited by
      #13

      Kwakkie wrote: around 7400 lines :wtf:

      Simon Walton
      Sonork: 10024

      P

      1 Reply Last reply
      0
      • J Jason Gerard

        I worked with someone that did that. The page was at least 5000 lines. I also worked with someone that used multiple connection objects in an ASP page to run multiple queries. A new connection for every query, and there were quite a few queries. It was all connecting to the same database. Quite sad actually. Jason Gerard "This almost never matters, except quite often."

        D Offline
        D Offline
        Daniel Turini
        wrote on last edited by
        #14

        Jason Gerard wrote: I also worked with someone that used multiple connection objects in an ASP page to run multiple queries. A new connection for every query, and there were quite a few queries. It was all connecting to the same database. Quite sad actually. If he closed the connection right after using it, sorry to say, but he was right. The IIS will manage a ADO connection pool and "closing" a connection returns it more quickly to the pool. My latest article: SQL Server DO's and DONT's[^]

        J P 2 Replies Last reply
        0
        • H Hoornet93

          In my company i got the task to modify something in my friend Visual C code. Imagine my surprise when I saw a function 831 linel long!!! Do u know a longer function? Love is the law, love under will.

          S Offline
          S Offline
          Steve Hopkins
          wrote on last edited by
          #15

          We have a bought in third party control, functions regulary reach 3k lines. But a trainer came in one time, and scared us senseless with a story of a function witten at HP which was 20k lines long. :wtf: if(E_NOINTERFACE == pThat->QueryInterface(IID_IUnknown,(void**)&pUnk)) { // I aint no pUnk bitch! }

          1 Reply Last reply
          0
          • W Wouter Dhondt

            Longest I've seen: around 7400 lines. It's a c++ function to parse a string using a state machine / huge switch (with other switches in the cases). ----------------------- New and improved: kwakkelflap.com My first CP article: Pseudoregisters[^] "When I hear of Schrödinger's cat, I reach for my gun." - Stephen Hawking

            D Offline
            D Offline
            Daniel Turini
            wrote on last edited by
            #16

            Nah, code generated by YACC doesn't count :) My latest article: SQL Server DO's and DONT's[^]

            W 1 Reply Last reply
            0
            • H Hoornet93

              In my company i got the task to modify something in my friend Visual C code. Imagine my surprise when I saw a function 831 linel long!!! Do u know a longer function? Love is the law, love under will.

              D Offline
              D Offline
              Daniel Turini
              wrote on last edited by
              #17

              Hoornet@Job wrote: In my company i got the task to modify something in my friend Visual C code. Imagine my surprise when I saw a function 831 linel long!!! The worst kind of code is when you see a big function calling several other fellow big functions :) My latest article: SQL Server DO's and DONT's[^]

              T 1 Reply Last reply
              0
              • D Daniel Turini

                Nah, code generated by YACC doesn't count :) My latest article: SQL Server DO's and DONT's[^]

                W Offline
                W Offline
                Wouter Dhondt
                wrote on last edited by
                #18

                LOL. Well, it isn't. Count exactly: 7428 lines... (and growing). How on earth can you get 7400 lines function of YACC generated code. Our generated code is split up nicely in different functions (although we have big tables of course). Won't try to read it though... ----------------------- New and improved: kwakkelflap.com My first CP article: Pseudoregisters[^] "When I hear of Schrödinger's cat, I reach for my gun." - Stephen Hawking

                1 Reply Last reply
                0
                • D Daniel Turini

                  Hoornet@Job wrote: In my company i got the task to modify something in my friend Visual C code. Imagine my surprise when I saw a function 831 linel long!!! The worst kind of code is when you see a big function calling several other fellow big functions :) My latest article: SQL Server DO's and DONT's[^]

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

                  The worst kind of code is when you see a big function calling several other fellow big functions Where most arguments are passed via global variables. :) Tim Smith I'm going to patent thought. I have yet to see any prior art.

                  1 Reply Last reply
                  0
                  • D Daniel Turini

                    Jason Gerard wrote: I also worked with someone that used multiple connection objects in an ASP page to run multiple queries. A new connection for every query, and there were quite a few queries. It was all connecting to the same database. Quite sad actually. If he closed the connection right after using it, sorry to say, but he was right. The IIS will manage a ADO connection pool and "closing" a connection returns it more quickly to the pool. My latest article: SQL Server DO's and DONT's[^]

                    J Offline
                    J Offline
                    Jason Gerard
                    wrote on last edited by
                    #20

                    Well, I don't recall everything about the page, this was about 2 years ago. I know I trashed it and rewrote it with just one object and it went from taking 30+ seconds to load to just under 1-3 seconds. Jason Gerard "This almost never matters, except quite often."

                    1 Reply Last reply
                    0
                    • P Pete Bassett

                      Sorry guys, but I've got you all beat. I only heard about this after the fact but a colleague of mine in another department was given the task of writting a function which, given one "name" would return a shorter equivalent. Weeks later he emerged triumphant and presented the world with a VB function which consisted of one long Select statement. I dont know how many lines long the function was, but we printed it out onto A4 sheets. It took over half an hour and the stack was 2 inches thick. Now thats a function! Needless to say, someone wrote a 5 line equivalent that just did a look up in an Access table. Pete


                      Insert Sig. Here!

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

                      And the amazing thing is that the database server actually accepted and parsed it???? :omg: Marc Help! I'm an AI running around in someone's f*cked up universe simulator.

                      P 1 Reply Last reply
                      0
                      • M Marc Clifton

                        And the amazing thing is that the database server actually accepted and parsed it???? :omg: Marc Help! I'm an AI running around in someone's f*cked up universe simulator.

                        P Offline
                        P Offline
                        Pete Bassett
                        wrote on last edited by
                        #22

                        Marc Clifton wrote: the database server actually accepted and parsed it ? If you're asking how we generated the Access table, its pretty easy to write a parser for such a small set of language. Case "Peter" GetShortName = "Pete" Case "Joeseph" GetShortName = "Joe" Then just put the "Case" token in the LongName column and the "GetShortName" token in the ShortName column. Horrible! Oh, it just makes me cringe every time I think of it...Uuuugggghghhh... Pete


                        Insert Sig. Here!

                        M 1 Reply Last reply
                        0
                        • P Paul Watson

                          Hoornet@Job wrote: Do u know a longer function? A contracter did an ASP page for us once. It had to Add, Edit and Delete some records. He put everything into one page and repeated all the HTML for each function. The page is 5423 lines long. When I press page down in VS.NET it takes 5 seconds before the screen updates! Suffice to say we deleted the page and re-did it, because trying to edit that monster would have taken longer.

                          Paul Watson
                          Bluegrass
                          Cape Town, South Africa

                          Colin Davies wrote: ...can you imagine a John Simmons stalker !

                          realJSOPR Offline
                          realJSOPR Offline
                          realJSOP
                          wrote on last edited by
                          #23

                          No, he's talking about program code. Writing HTML pages is NOT programming. ------- signature starts "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001 Please review the Legal Disclaimer in my bio. ------- signature ends

                          P 1 Reply Last reply
                          0
                          • D Daniel Turini

                            Jason Gerard wrote: I also worked with someone that used multiple connection objects in an ASP page to run multiple queries. A new connection for every query, and there were quite a few queries. It was all connecting to the same database. Quite sad actually. If he closed the connection right after using it, sorry to say, but he was right. The IIS will manage a ADO connection pool and "closing" a connection returns it more quickly to the pool. My latest article: SQL Server DO's and DONT's[^]

                            P Offline
                            P Offline
                            Paul Watson
                            wrote on last edited by
                            #24

                            Daniel Turini wrote: If he closed the connection right after using it, sorry to say, but he was right. The IIS will manage a ADO connection pool and "closing" a connection returns it more quickly to the pool. I think Jason meant there was a connection object for each query, not one re-used connection object. e.g.

                            set oconn1 = server.create....
                            set rs1 = server.create...

                            set oconn2 = server.create....
                            set rs2 = server.create...

                            set oconn3 = server.create....
                            set rs3 = server.create...

                            That surely cannot be right.

                            Paul Watson
                            Bluegrass
                            Cape Town, South Africa

                            Colin Davies wrote: ...can you imagine a John Simmons stalker !

                            J N 2 Replies Last reply
                            0
                            • H Hoornet93

                              In my company i got the task to modify something in my friend Visual C code. Imagine my surprise when I saw a function 831 linel long!!! Do u know a longer function? Love is the law, love under will.

                              C Offline
                              C Offline
                              Chris Meech
                              wrote on last edited by
                              #25

                              Not only have I come across functions with a greater number of lines, how's about what the functions were to do! I took over a DB reporting app that had a CView derived class that generated SQL on the fly, queried the database, built a huge array of strings to hold all the data. Only problem was it did this all in the OnDraw() method. Guess what happened whenever you tried to scroll the window? :) Or printed a report. Chris Meech "what makes CP different is the people and sense of community, things people will only discover if they join up and join in." Christian Graus Nov 14, 2002. "AAAAAAAAAHHHHHH!!!!! Those leaks are driving me crazy! How does one finds a memory leak in a garbage collected environment ??! Daniel Turini Nov. 2, 2002.

                              N 1 Reply Last reply
                              0
                              • realJSOPR realJSOP

                                No, he's talking about program code. Writing HTML pages is NOT programming. ------- signature starts "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001 Please review the Legal Disclaimer in my bio. ------- signature ends

                                P Offline
                                P Offline
                                Paul Watson
                                wrote on last edited by
                                #26

                                John Simmons / outlaw programmer wrote: No, he's talking about program code. Writing HTML pages is NOT programming. "the staggering layers of originality in your statement make it a work of art on so many levels" Come on John, you can do better than that!

                                Paul Watson
                                Bluegrass
                                Cape Town, South Africa

                                Colin Davies wrote: ...can you imagine a John Simmons stalker !

                                1 Reply Last reply
                                0
                                • P Paul Watson

                                  Daniel Turini wrote: If he closed the connection right after using it, sorry to say, but he was right. The IIS will manage a ADO connection pool and "closing" a connection returns it more quickly to the pool. I think Jason meant there was a connection object for each query, not one re-used connection object. e.g.

                                  set oconn1 = server.create....
                                  set rs1 = server.create...

                                  set oconn2 = server.create....
                                  set rs2 = server.create...

                                  set oconn3 = server.create....
                                  set rs3 = server.create...

                                  That surely cannot be right.

                                  Paul Watson
                                  Bluegrass
                                  Cape Town, South Africa

                                  Colin Davies wrote: ...can you imagine a John Simmons stalker !

                                  J Offline
                                  J Offline
                                  Jason Gerard
                                  wrote on last edited by
                                  #27

                                  Paul Watson wrote: think Jason meant there was a connection object for each query, not one re-used connection object. Exactly. Jason Gerard "This almost never matters, except quite often."

                                  1 Reply Last reply
                                  0
                                  • H Hoornet93

                                    In my company i got the task to modify something in my friend Visual C code. Imagine my surprise when I saw a function 831 linel long!!! Do u know a longer function? Love is the law, love under will.

                                    C Offline
                                    C Offline
                                    Chris Losinger
                                    wrote on last edited by
                                    #28

                                    sure. i have a couple that are easily over 1100 lines. -c


                                    A conclusion is simply the place where someone got tired of thinking.

                                    Smaller Animals Software

                                    N 1 Reply Last reply
                                    0
                                    • P Pete Bassett

                                      Marc Clifton wrote: the database server actually accepted and parsed it ? If you're asking how we generated the Access table, its pretty easy to write a parser for such a small set of language. Case "Peter" GetShortName = "Pete" Case "Joeseph" GetShortName = "Joe" Then just put the "Case" token in the LongName column and the "GetShortName" token in the ShortName column. Horrible! Oh, it just makes me cringe every time I think of it...Uuuugggghghhh... Pete


                                      Insert Sig. Here!

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

                                      No, I meant that the server actually processed the 2 inch stack of A4 paper representing the SELECT statement. Marc Help! I'm an AI running around in someone's f*cked up universe simulator.

                                      P 1 Reply Last reply
                                      0
                                      • H Hoornet93

                                        In my company i got the task to modify something in my friend Visual C code. Imagine my surprise when I saw a function 831 linel long!!! Do u know a longer function? Love is the law, love under will.

                                        W Offline
                                        W Offline
                                        William E Kempf
                                        wrote on last edited by
                                        #30

                                        No, but I've got another one for people to try and top. Someone in our company once wrote a Windows control (strictly C API) to do formatted editing (things like date entry, currency entry, etc.). I was tasked with fixing a bug in the control, so I fired 4Print (a utility that prints multiple pages on a single page), opened the single source file, and hit print (with complex code, I often find it easier to read hard copy, where I can mark up the code with notes). After a few minutes had passed and I'd not received a notification that the print job was done, I looked in the print spool to see what was going on. I was shocked to see that the print job was over 500 pages long! Since this was 4Printed, that means it was actually over 1000 pages of code! :eek: Needless to say, instead of fixing the bug I just wrote a new control from scratch. Retained all the functionality in under 25 pages of code. Made me wonder if the developer was getting paid by the LOC. William E. Kempf

                                        1 Reply Last reply
                                        0
                                        • M Marc Clifton

                                          No, I meant that the server actually processed the 2 inch stack of A4 paper representing the SELECT statement. Marc Help! I'm an AI running around in someone's f*cked up universe simulator.

                                          P Offline
                                          P Offline
                                          Pete Bassett
                                          wrote on last edited by
                                          #31

                                          Ah, now I see the consusion. No, it wasn't a SQL Select. it was a VB one E.g.

                                          Public Function GetShortName(strName as String) as String
                                          Select Case strName
                                          ...
                                          Case "Peter"
                                          GetShortName = "Pete"
                                          Case "Joeseph"
                                          GetShortName = "Joe"
                                          Case "LongName"
                                          GetShortName = "ShortName"
                                          ...
                                          End Select
                                          End Function

                                          And so on and so forth. Apparently I took quite a while to compile. Pete


                                          Insert Sig. Here!

                                          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