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.
  • 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
          • 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
            Joan M
            wrote on last edited by
            #24

            yesterday I started reading it and it seemed great. By the way in the first 98 pages I saw that all that was told was obvious, but very interesting... like a situation in which you know everything but it helps you to listen to it again. I think that it can improve the way in which all of us "program"... (and I use "" because it seems that programming is not what we think at the beginning). ;) Hope this helps.

            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
              Chris Buckett
              wrote on last edited by
              #25

              Captain See Sharp wrote:

              better architect of my software and a better coder also

              Whilst I found both editions of CC good, I would also recommend Mike Gunderloy's Coder to Developer[^]. I found that this had a lot more in terms of practical ideas, especially for small teams / solo programmers. Joel "on-software[^]" Spolsky wrote the forward (and you can do worse than read his articles on sw development - they are available either on his site in article format or you can buy a selection in book format from amazon). That said, you won't be dissapointed with CC.

              ChrisB ChrisDoesDev[^]

              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?

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

                S Offline
                S Offline
                Stan Klimoff
                wrote on last edited by
                #26

                Haven't a chance to peek into CC, but PP is marvellous.

                E 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?

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

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

                  It is as with sex documentation - "...and if it's good, it's really good!". And it is good. On the surface, much of the information may sound "I knew that" for a seasoned developer. e."The power of variable names" chapter is over 30 pages, packed with thoughts and information. Again, much of it is "I knew that" after you read it (see Douglas Adams, invention of the cat flap). What makes this book a valuable tool is the condensed research results. There are so many "It is better to"'s, but how do you back them up? Sample Fact: Variable names shorter than 8 or longer than 20 increase the debugging effort notably. 10..16 is ideal. (Gorla, Bender, Belander, 1990) This makes it a valuable tool for the project manager, too. And there are the surprises. Things you never thought it would be that way. Do you know that developers are more likely to make mistakes in a small change, as compared to a medium? Did you know that not-so-fast-but-not-so-slow-either developers may well be the worst? Get it! Get it! -- modified at 5:41 Wednesday 10th January, 2007: note to self if you want to be phunny, check your spelling first


                  Developers, Developers, Developers, Developers, Developers, Developers, Velopers, Develprs, Developers!
                  We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
                  Linkify!|Fold With Us!

                  1 Reply 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!

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

                    Gorla, Benander and benander: Names longer than 20 characters are as bad as shorter than 8.


                    Developers, Developers, Developers, Developers, Developers, Developers, Velopers, Develprs, Developers!
                    We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
                    Linkify!|Fold With Us!

                    1 1 Reply Last reply
                    0
                    • P peterchen

                      Gorla, Benander and benander: Names longer than 20 characters are as bad as shorter than 8.


                      Developers, Developers, Developers, Developers, Developers, Developers, Velopers, Develprs, Developers!
                      We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
                      Linkify!|Fold With Us!

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

                      peterchen wrote:

                      Names longer than 20 characters are as bad as shorter than 8.

                      What a curious observation! I take it "Peter" (five characters) isn't working out for you then? And "United States of America" (twenty-four characters) will probably not catch on either; but that's okay, we can just say USA instead - whoops! too short! In any case, the study by Gorla, Benander and Benander that (I believe) you cite is difficult to apply to a language like Plain English because they didn't even consider names with spaces in them. Whichmakesalotofdifference, don't you think?

                      G J 2 Replies 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

                        P Offline
                        P Offline
                        Phil Harding
                        wrote on last edited by
                        #30

                        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)"?

                        Pravarakhya wrote:

                        Again trying to plug "Plain English Programming"

                        Really, don't see any plug there my friend :|:|

                        Phil Harding.
                        myBlog [^] | mySite [^]

                        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

                          P Offline
                          P Offline
                          Phil Harding
                          wrote on last edited by
                          #31

                          Christian Graus wrote:

                          I find it a pain to read over verbose code, like VB and PE

                          Sure, but there's a balance to be struck. I find code variable'd like "bMemoryObjectStage2WasInitialisedCorrectlyByTheMM" overly descriptive and makes reading the code difficult (screen real estate restrictions), but on the other hand variables of the type "bOS2IOK" give little clue as to their function or use.

                          Phil Harding.
                          myBlog [^] | mySite [^]

                          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
                            #32

                            Got mine a few weeks ago, excellent!

                            The tigress is here :-D

                            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?

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

                              P Offline
                              P Offline
                              Pete OHanlon
                              wrote on last edited by
                              #33

                              Truly excellent book (having read both editions). It's big selling point is that, if you follow it's guidelines, you stop and think about your code. I would recommend this book for anyone.

                              the last thing I want to see is some pasty-faced geek with skin so pale that it's almost translucent trying to bump parts with a partner - John Simmons / outlaw programmer
                              Deja View - the feeling that you've seen this post before.

                              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
                                #34

                                I read the second edition. I'd say it's value depends on the experience of the user. For an experienced user, most of the material will be common sense, but still a lot of good things to learn. Also, a little verbose for an experienced programmer, but an easy enough read that the reader can skim the parts that are already known. Definitely a read, IF you have the time. I particularly liked the sections on cohesion and coupling. If you have less time and looking for something a little more terse, C++ coding standards is a great read. It's VERY terse and to the point, and gives the reader many references (including McConnell) if they want to pursue the topic further.

                                1 Reply Last reply
                                0
                                • 1 123 0

                                  peterchen wrote:

                                  Names longer than 20 characters are as bad as shorter than 8.

                                  What a curious observation! I take it "Peter" (five characters) isn't working out for you then? And "United States of America" (twenty-four characters) will probably not catch on either; but that's okay, we can just say USA instead - whoops! too short! In any case, the study by Gorla, Benander and Benander that (I believe) you cite is difficult to apply to a language like Plain English because they didn't even consider names with spaces in them. Whichmakesalotofdifference, don't you think?

                                  G Offline
                                  G Offline
                                  Grimolfr
                                  wrote on last edited by
                                  #35

                                  The Grand Negus wrote:

                                  Whichmakesalotofdifference

                                  Shouldn't that be WhichMakesALotOfDifference? Which, for most of us, is easier to read than what you wrote, highlighting the importance of coding style to maintainability. This in turn brings us back to the book in the topic, which is about style, not language.


                                  Grim

                                  (aka Toby)

                                  MCDBA, MCSD, MCP+SB

                                  Need a Second Life?[^]

                                  SELECT * FROM users WHERE clue IS NOT NULL GO

                                  (0 row(s) affected)

                                  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?

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

                                    M Offline
                                    M Offline
                                    Matthew Cuba
                                    wrote on last edited by
                                    #36

                                    Pragmatic Programmer is a good book and an easy read. I found the section on testing helpful. I'd say it is probably due for an update, though. Guess that is just the nature of technical books. My copy (and I assume this is still the case) had a pull-out card with a summary of the points of the book written on it. You might take a peek at that before purchasing it. I bought a copy of Code Complete, Second Edition and while I have never read the entire book, what I have read was good.

                                    1 Reply Last reply
                                    0
                                    • 1 123 0

                                      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 Offline
                                      T Offline
                                      tgrt
                                      wrote on last edited by
                                      #37

                                      Using "Is this book good" is just too long. And when you're dealing with allot of code or a complex algorithm than that is not good. "itbg_TF" is not meaningful. On the other hand, something like "isBookGood" is meaningful and short enough to not cloud the comprehension of the reader. And remember, the reader is a programmer not a layman. I'm really tired of you pimping your natural language compiler do-hicky. Every once in awhile, maybe, but does every post you write have to mention it (or blatantly try to hook people into it)? Just put a friggin' link to your site in your signature and let the curious click. Stop trying to shove your religion down our throats (for you it is a religion).

                                      C 1 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?

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

                                        B Offline
                                        B Offline
                                        brianwelsch
                                        wrote on last edited by
                                        #38

                                        I have the 2nd edition; it's well worth the cost. Table of Contents[^]

                                        BW


                                        If you're not part of the solution, you're part of the precipitate.
                                        -- Steven Wright

                                        E 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?

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

                                          S Offline
                                          S Offline
                                          Steve Naidamast
                                          wrote on last edited by
                                          #39

                                          Code Complete is an excellent reference for the best programming practices developed in the past 25+ years. Not all of these practices will fit all of your requirements all of the time and so like with project management techniques you have to use a careful eye as to what you feel should be included in your development processes. The bad part about this book is that many of its recommendations are lost arts from a previous era that were lost with the demise of the mainframe world where believe it or not you had a much finer level of developer than you do today. This was for both technical as well as sociological reasons. From one who has been in the IT industry for close to 35 years, I see more sloppiness and rush to complexity than in years past as well as a lack of understanding of the "primary directive" of "KISS". Today's developers (mostly those who work inthe corporations) have very little feel for the quality of their work which fosters management's rush to "get things done". If no one is concerned about quality than there are no brakes on those who care more for the result than how it was obtained. If you are serious about your career as a technical professional than Steve McDonald's book will help you tremendously from a psychological perspective let alone from a technical one. It is a book that should be in every serious technician's library

                                          Steve Naidamast blackfalconsoftware@ix.netcom.com

                                          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