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. Code Complete, Second Edition

Code Complete, Second Edition

Scheduled Pinned Locked Moved The Lounge
helpquestiondiscussionlearning
83 Posts 38 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.
  • L Lost User

    I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?

    █▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██

    G Offline
    G Offline
    guiqul163
    wrote on last edited by
    #4

    Just heard it.

    ========================================= 中国,昆明

    1 Reply Last reply
    0
    • L Lost User

      I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?

      █▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██

      J Offline
      J Offline
      Joe Woodbury
      wrote on last edited by
      #5

      I detest it. I found it very pompous and dogmatic with the few good concepts hidden amongst some really bad ideas and generalizations. As I've said in past critiques of the book, I still say read it through with a skeptical eye then toss it in the trash.

      Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke

      S E 2 Replies Last reply
      0
      • L Lost User

        I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?

        █▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██

        S Offline
        S Offline
        Scott Dorman
        wrote on last edited by
        #6

        I've read the First Edition, and own the Second Edition. Both of them are excellent resources and go in to much more than just things like naming conventions. The Second Edition is good because it references some of the more "modern" languages, like C#. I've seen Pragmatic Programmer, but have never actually read it so I can't give an opinion on it. Another good resource if you are dealing primarily with .NET (C# and VB.NET) is the Framework Design Guidelines. Even if you are a C++ programmer, a lot of the guidelines still apply...you just have to filter out the things that are .NET specific.

        ----------------------------- In just two days, tomorrow will be yesterday.

        1 Reply Last reply
        0
        • L Lost User

          I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?

          █▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██

          1 Offline
          1 Offline
          123 0
          wrote on last edited by
          #7

          Captain See Sharp wrote:

          I know there are things like naming your booleans descriptively like isThisBookGood... instead of itbg_TF.

          Why on earth would anyone want to name a boolean "isThisBookGood" instead of "itbg_TF"? The next thing you know they'll be wanting to say things like "If the book is good..." - spaces and all!

          S P 2 Replies Last reply
          0
          • 1 123 0

            Captain See Sharp wrote:

            I know there are things like naming your booleans descriptively like isThisBookGood... instead of itbg_TF.

            Why on earth would anyone want to name a boolean "isThisBookGood" instead of "itbg_TF"? The next thing you know they'll be wanting to say things like "If the book is good..." - spaces and all!

            S Offline
            S Offline
            Stephen Hewitt
            wrote on last edited by
            #8

            Assuming you're not being sarcastic (I'm assumimg you are being sarcastic however), this seems a little inconsistent with your philosophy: to be advocating English language programming but rejecting descriptively named variables is a contradiction to say the least. Assuming you are being sarcastic, I don’t think your point is valid. The equation “a=pi*r^2” is just as rigid as if “area=pi*radius^2” was used. The names of the variables is not connected to the rigidity of the language rules. Both formality and descriptiveness have their place.

            Steve

            1 1 Reply Last reply
            0
            • L Lost User

              I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?

              █▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██

              K Offline
              K Offline
              KevinMac
              wrote on last edited by
              #9

              I liked Code Complete 2nd Edition as a general guide it is not a bad investment. I would be interested in your take on The Pragmatic Programmer if you indeed buy it. They have a book on Unit Testing for C# that I wanted to take a look at. We are moving towards Scrum and XP at work and I need an office reference on unit testing but have yet to find one.

              1 Reply Last reply
              0
              • L Lost User

                I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?

                █▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██

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

                Captain See Sharp wrote:

                Code Complete

                Never read it

                Captain See Sharp wrote:

                The Pragmatic Programmer

                Great book I also love the Scott Myers c++ books

                System.IO.Path.IsPathRooted() does not behave as I would expect

                1 Reply Last reply
                0
                • S Stephen Hewitt

                  Assuming you're not being sarcastic (I'm assumimg you are being sarcastic however), this seems a little inconsistent with your philosophy: to be advocating English language programming but rejecting descriptively named variables is a contradiction to say the least. Assuming you are being sarcastic, I don’t think your point is valid. The equation “a=pi*r^2” is just as rigid as if “area=pi*radius^2” was used. The names of the variables is not connected to the rigidity of the language rules. Both formality and descriptiveness have their place.

                  Steve

                  1 Offline
                  1 Offline
                  123 0
                  wrote on last edited by
                  #11

                  Stephen Hewitt wrote:

                  Assuming you're not being sarcastic (which I admit I’m having trouble discerning, I'm leaning towards sarcastic however), this seems a little inconsistent with your philosophy: to be advocating English language programming but rejecting descriptively named variables is a contradiction to say the least.

                  Well, it seems to me that someone who prefers "isBookGood" to "itbg_TF" should also prefer "If the book is good" to "if (itbg_TF)" or even "if (isBookGood)". Clearly, "isBookGood" is closer to the thought in the programmer's mind than "itbg_TF" which is less readable and drags in all sorts of implementation issues. But isn't "If the book is good" closer to what the programmer is thinking than "if (itbg_TF)" or "if (isBookGood)"?

                  S P C J D 5 Replies Last reply
                  0
                  • 1 123 0

                    Stephen Hewitt wrote:

                    Assuming you're not being sarcastic (which I admit I’m having trouble discerning, I'm leaning towards sarcastic however), this seems a little inconsistent with your philosophy: to be advocating English language programming but rejecting descriptively named variables is a contradiction to say the least.

                    Well, it seems to me that someone who prefers "isBookGood" to "itbg_TF" should also prefer "If the book is good" to "if (itbg_TF)" or even "if (isBookGood)". Clearly, "isBookGood" is closer to the thought in the programmer's mind than "itbg_TF" which is less readable and drags in all sorts of implementation issues. But isn't "If the book is good" closer to what the programmer is thinking than "if (itbg_TF)" or "if (isBookGood)"?

                    S Offline
                    S Offline
                    Stephen Hewitt
                    wrote on last edited by
                    #12

                    I've edited and added to my OP since you wrote this reply.

                    Steve

                    1 1 Reply Last reply
                    0
                    • 1 123 0

                      Stephen Hewitt wrote:

                      Assuming you're not being sarcastic (which I admit I’m having trouble discerning, I'm leaning towards sarcastic however), this seems a little inconsistent with your philosophy: to be advocating English language programming but rejecting descriptively named variables is a contradiction to say the least.

                      Well, it seems to me that someone who prefers "isBookGood" to "itbg_TF" should also prefer "If the book is good" to "if (itbg_TF)" or even "if (isBookGood)". Clearly, "isBookGood" is closer to the thought in the programmer's mind than "itbg_TF" which is less readable and drags in all sorts of implementation issues. But isn't "If the book is good" closer to what the programmer is thinking than "if (itbg_TF)" or "if (isBookGood)"?

                      P Offline
                      P Offline
                      Pravarakhya
                      wrote on last edited by
                      #13

                      The Grand Negus wrote:

                      But isn't "If the book is good" closer to what the programmer is thinking than "if (itbg_TF)" or "if (isBookGood)"?

                      Again trying to plug "Plain English Programming" :zzz:

                      Pravar My Image Processing Article! Rate it!! My Blog

                      1 P C 3 Replies Last reply
                      0
                      • L Lost User

                        I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?

                        █▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██

                        1 Offline
                        1 Offline
                        123 0
                        wrote on last edited by
                        #14

                        Captain See Sharp wrote:

                        I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think?

                        Try this little book: "Programming Pearls" by Jon Louis Bentley. But do as he says, not as he does. You might also try "Project Oberon - The Design of an Operating System and Compiler" by N. Wirth and J. Gutknecht which is available free as a PDF here[^]. And, of course, you can always... well, you know.

                        P C 2 Replies Last reply
                        0
                        • 1 123 0

                          Captain See Sharp wrote:

                          I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think?

                          Try this little book: "Programming Pearls" by Jon Louis Bentley. But do as he says, not as he does. You might also try "Project Oberon - The Design of an Operating System and Compiler" by N. Wirth and J. Gutknecht which is available free as a PDF here[^]. And, of course, you can always... well, you know.

                          P Offline
                          P Offline
                          Pravarakhya
                          wrote on last edited by
                          #15

                          The Grand Negus wrote:

                          And, of course, you can always... well, you know.

                          Is that your signature?:rolleyes:

                          Pravar My Image Processing Article! Rate it!! My Blog

                          1 Reply Last reply
                          0
                          • S Stephen Hewitt

                            I've edited and added to my OP since you wrote this reply.

                            Steve

                            1 Offline
                            1 Offline
                            123 0
                            wrote on last edited by
                            #16

                            Stephen Hewitt wrote:

                            The names of the variables is not connected to the rigidity of the language rules. Both formality and descriptiveness have their place.

                            Agreed. But we shouldn't have to be more formal than necessary, or less descriptive than we can be - ever. And if our goal is to produce an artificial intelligence, we will probably find it easier to work in a language that is about as formal and about as rigid as the machine we're trying to program - no more and no less. But why limit ourselves? This statement, for example, is perfectly reasonable in a natural language framework: If the book is good, put sqrt(sqr(length)+sqr(width)) into the book's diagonal. Here, the thought is expressed in natural terms except where a more specialized syntax makes the job "easier". In other words, it's a trivial matter to include rigid, formal syntax within a natural language framework; the reverse is much more difficult to accomplish.

                            1 Reply Last reply
                            0
                            • L Lost User

                              I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?

                              █▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██

                              C Offline
                              C Offline
                              Christian Graus
                              wrote on last edited by
                              #17

                              Captain See Sharp wrote:

                              I'm thinking about buying the book Code Complete, Second Edition.

                              So you should, it's come up a lot here of late.

                              Captain See Sharp wrote:

                              How many of you have actually read it

                              A lot, I'd hope.

                              Captain See Sharp wrote:

                              how good was it

                              I wish I'd read it sooner. As it was, it verbalised a lot of stuff I already was doing, but was still an excellent read. If I ever hire anyone, I'll buy each new hire a copy.

                              Captain See Sharp wrote:

                              I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that

                              A lot more. The bit on writing short methods and refactoring is worth the price of admission alone.

                              Captain See Sharp wrote:

                              I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think?

                              Buy it. The worst that can happen is what happened to me, you'll be forced to think about things you've just been doing intuitively ( I'm not suggesting I learned nothing, just that a lot of stuff I read, I had learned from experience, but often not really thought about so much )

                              Captain See Sharp wrote:

                              Is The Pragmatic Programmer: From Journeyman to Master good also?

                              I've not read it, it could be.

                              Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

                              1 Reply Last reply
                              0
                              • P Pravarakhya

                                The Grand Negus wrote:

                                But isn't "If the book is good" closer to what the programmer is thinking than "if (itbg_TF)" or "if (isBookGood)"?

                                Again trying to plug "Plain English Programming" :zzz:

                                Pravar My Image Processing Article! Rate it!! My Blog

                                1 Offline
                                1 Offline
                                123 0
                                wrote on last edited by
                                #18

                                Pravarakhya wrote:

                                Again trying to plug "Plain English Programming"

                                Actually, I'm asking what makes "isBookGood" better than "itbg_TF", and whether or not those same virtues can be used to evaluate procedural code as well as data definition code. If the virtues in question can be delineated and apply in both circumstances, that would appear to be a point in favor of a natural language approach to programming; otherwise, it would be a point against it.

                                T 1 Reply Last reply
                                0
                                • 1 123 0

                                  Stephen Hewitt wrote:

                                  Assuming you're not being sarcastic (which I admit I’m having trouble discerning, I'm leaning towards sarcastic however), this seems a little inconsistent with your philosophy: to be advocating English language programming but rejecting descriptively named variables is a contradiction to say the least.

                                  Well, it seems to me that someone who prefers "isBookGood" to "itbg_TF" should also prefer "If the book is good" to "if (itbg_TF)" or even "if (isBookGood)". Clearly, "isBookGood" is closer to the thought in the programmer's mind than "itbg_TF" which is less readable and drags in all sorts of implementation issues. But isn't "If the book is good" closer to what the programmer is thinking than "if (itbg_TF)" or "if (isBookGood)"?

                                  C Offline
                                  C Offline
                                  Christian Graus
                                  wrote on last edited by
                                  #19

                                  The Grand Negus wrote:

                                  But isn't "If the book is good" closer to what the programmer is thinking than "if (itbg_TF)" or "if (isBookGood)"?

                                  Only if the programmer doesn't know any language apart from English. If a programming language existed that was able to understand plain english, and get over the hurdle that you have to either simply provide a new syntax as rigid as existing languages ( which PE does ), or find a way to take all manner of statements and yet work out the programmers precise intentions, then that would be a clearer way to go for the lay person. As it stands, PE just defines it's own rigid syntax, and no language is easier than another, they are just different ( I find it a pain to read over verbose code, like VB and PE )

                                  Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

                                  1 E P 3 Replies Last reply
                                  0
                                  • J Joe Woodbury

                                    I detest it. I found it very pompous and dogmatic with the few good concepts hidden amongst some really bad ideas and generalizations. As I've said in past critiques of the book, I still say read it through with a skeptical eye then toss it in the trash.

                                    Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke

                                    S Offline
                                    S Offline
                                    S Douglas
                                    wrote on last edited by
                                    #20

                                    Joe Woodbury wrote:

                                    I found it very pompous and dogmatic

                                    Don't hold back, tell us how you really fell. :)

                                    Joe Woodbury wrote:

                                    As I've said in past critiques of the book,

                                    Link? I would be interested in your take on it, I believe yours is about the only voice of dissension when it comes to Code Complete.


                                    I'd love to help, but unfortunatley I have prior commitments monitoring the length of my grass. :Andrew Bleakley:

                                    J S 2 Replies Last reply
                                    0
                                    • C Christian Graus

                                      The Grand Negus wrote:

                                      But isn't "If the book is good" closer to what the programmer is thinking than "if (itbg_TF)" or "if (isBookGood)"?

                                      Only if the programmer doesn't know any language apart from English. If a programming language existed that was able to understand plain english, and get over the hurdle that you have to either simply provide a new syntax as rigid as existing languages ( which PE does ), or find a way to take all manner of statements and yet work out the programmers precise intentions, then that would be a clearer way to go for the lay person. As it stands, PE just defines it's own rigid syntax, and no language is easier than another, they are just different ( I find it a pain to read over verbose code, like VB and PE )

                                      Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

                                      1 Offline
                                      1 Offline
                                      123 0
                                      wrote on last edited by
                                      #21

                                      Christian Graus wrote:

                                      If a programming language existed that was able to understand plain english, and get over the hurdle that you have to either simply provide a new syntax as rigid as existing languages ( which PE does ), or find a way to take all manner of statements and yet work out the programmers precise intentions, then that would be a clearer way to go for the lay person.

                                      First of all, you're mistaken when you suggest that the syntax of Plain English is as rigid as other existing languages. It's not. I freely admit that it's not as flexible as we'd like it to be, but it's getting there. Secondly, we agree that the ultimate goal is to "take all manner of statements and yet work out the programmers [or layman's] precise intentions". And we've got a succinct, executable plan to make that happen within the next few years.

                                      C 1 Reply Last reply
                                      0
                                      • C Christian Graus

                                        The Grand Negus wrote:

                                        But isn't "If the book is good" closer to what the programmer is thinking than "if (itbg_TF)" or "if (isBookGood)"?

                                        Only if the programmer doesn't know any language apart from English. If a programming language existed that was able to understand plain english, and get over the hurdle that you have to either simply provide a new syntax as rigid as existing languages ( which PE does ), or find a way to take all manner of statements and yet work out the programmers precise intentions, then that would be a clearer way to go for the lay person. As it stands, PE just defines it's own rigid syntax, and no language is easier than another, they are just different ( I find it a pain to read over verbose code, like VB and PE )

                                        Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

                                        E Offline
                                        E Offline
                                        El Corazon
                                        wrote on last edited by
                                        #22

                                        Christian Graus wrote:

                                        or find a way to take all manner of statements and yet work out the programmers precise intentions, then that would be a clearer way to go for the lay person.

                                        That would be "true" lexical Analysis, which I have said would be a far better technique than his syntax method (or advanced Zork compiler). Lexical Analysis is an interesting method and has some great work out of several large universities in the AI realm... but then he said all of the AI world is going the wrong direction.... I did my first lexical Analysis work right out of high school, LANA was able to recognize more than his compiler, and actually learned. It was still syntax based, but anything it didn't recognize it would ask about and learn by replacing nouns and verbs. You could say "compare x equal to y" and if it only recognized "if x equal to y" then it would prompt you for a synonym of compare and add it to the dictionary. It had some more advanced work in recognizing noun verb object structure through various types of sentence structures. But all in all it was a pretty nifty lexical analysis work for an 18 year old, replaced my ProDOS and AppleDOS Operating system with something more entertaining, and even looked pretty (think 18 year old interests :rolleyes: and the name LANA :rolleyes: ).

                                        _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)

                                        1 Reply Last reply
                                        0
                                        • 1 123 0

                                          Christian Graus wrote:

                                          If a programming language existed that was able to understand plain english, and get over the hurdle that you have to either simply provide a new syntax as rigid as existing languages ( which PE does ), or find a way to take all manner of statements and yet work out the programmers precise intentions, then that would be a clearer way to go for the lay person.

                                          First of all, you're mistaken when you suggest that the syntax of Plain English is as rigid as other existing languages. It's not. I freely admit that it's not as flexible as we'd like it to be, but it's getting there. Secondly, we agree that the ultimate goal is to "take all manner of statements and yet work out the programmers [or layman's] precise intentions". And we've got a succinct, executable plan to make that happen within the next few years.

                                          C Offline
                                          C Offline
                                          Christian Graus
                                          wrote on last edited by
                                          #23

                                          The Grand Negus wrote:

                                          And we've got a succinct, executable plan to make that happen within the next few years.

                                          I wish you the best of luck.  I'd sure love to play with it, when it becomes that good.  I predict a middle period where you can't predict what it will do if someone other than you is programming it, tho.

                                          Christian Graus - C++ MVP 'Why don't we jump on a fad that hasn't already been widely discredited ?' - Dilbert

                                          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