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. Documentation aaaaarrrrgggggg

Documentation aaaaarrrrgggggg

Scheduled Pinned Locked Moved The Lounge
comquestionannouncement
36 Posts 16 Posters 2 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.
  • P PIEBALDconsult

    We are used to writing for a smarter user-base than the documentation's target audience.

    O Offline
    O Offline
    Oshtri Deka
    wrote on last edited by
    #17

    Tragic and true.

    Mislim, dakle jeo sam.

    1 Reply Last reply
    0
    • Mike HankeyM Mike Hankey

      Why is it that we as programmers hate to document? I document code as I go but I write articles for my site on projects and libraries I create and I suck at it, put off doing it and when I do get down to writing it's a slow tedious process.

      New version: WinHeist Version 2.1.0 There's a fine line between crazy and free spirited and it's usually a prescription. I'm currently unsupervised, I know it freaks me out too but the possibilities are endless.

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

      Early on I spent a great deal of time on documentation only to have it never referenced. I don't mind doing training materials because they are used, but developer docs are a waste of time because devs don't look at it.

      1 Reply Last reply
      0
      • Mike HankeyM Mike Hankey

        The problem is I understand what I write but few others do. :)

        New version: WinHeist Version 2.1.0 There's a fine line between crazy and free spirited and it's usually a prescription. I'm currently unsupervised, I know it freaks me out too but the possibilities are endless.

        P Offline
        P Offline
        PhilLenoir
        wrote on last edited by
        #19

        I've noticed that Mike. ;P

        Life is like a s**t sandwich; the more bread you have, the less s**t you eat.

        1 Reply Last reply
        0
        • Sander RosselS Sander Rossel

          My code is self-documenting :D I hate documenting my code (i.e. writing manuals), unless it is to teach others how to use a certain technology (like in my blog or articles). And I'm not particulary bad at it. But I do have a degree in Media and Journalism, so I may not be your average documentor :D

          My blog[^]

          public class SanderRossel : Lazy<Person>
          {
          public void DoWork()
          {
          throw new NotSupportedException();
          }
          }

          P Offline
          P Offline
          PhilLenoir
          wrote on last edited by
          #20

          The Documentors - weren't that nasties in Harry Potter?

          Life is like a s**t sandwich; the more bread you have, the less s**t you eat.

          Sander RosselS K 2 Replies Last reply
          0
          • Mike HankeyM Mike Hankey

            I agree documentation tools are pretty much non existent, pity would really help poor souls like me. I think my biggest problem is my grasp of the English language. One tends to fear what one does not understand. You, Sasha, Nish and others have a writing style that I envy. I excel in other areas; trivia, kick the can, distance spitting, etc.. :)

            New version: WinHeist Version 2.1.0 There's a fine line between crazy and free spirited and it's usually a prescription. I'm currently unsupervised, I know it freaks me out too but the possibilities are endless.

            P Offline
            P Offline
            PhilLenoir
            wrote on last edited by
            #21

            Quote:

            kick the can, distance spitting

            Ow! you got me TWICE

            Life is like a s**t sandwich; the more bread you have, the less s**t you eat.

            1 Reply Last reply
            0
            • P PhilLenoir

              The Documentors - weren't that nasties in Harry Potter?

              Life is like a s**t sandwich; the more bread you have, the less s**t you eat.

              Sander RosselS Offline
              Sander RosselS Offline
              Sander Rossel
              wrote on last edited by
              #22

              Almost :laugh:

              My blog[^]

              public class SanderRossel : Lazy<Person>
              {
              public void DoWork()
              {
              throw new NotSupportedException();
              }
              }

              1 Reply Last reply
              0
              • Mike HankeyM Mike Hankey

                RedDk wrote:

                You don't get paid enough to document code.

                I don't get paid anything for writing code, I do it for the fun of it.

                New version: WinHeist Version 2.1.0 There's a fine line between crazy and free spirited and it's usually a prescription. I'm currently unsupervised, I know it freaks me out too but the possibilities are endless.

                P Offline
                P Offline
                PIEBALDconsult
                wrote on last edited by
                #23

                Mike Hankey wrote:

                I don't get paid anything for writing code, I do it for the fun of it.

                Right, they pay me to do it for them. Although, most of what they have me doing is SSIS and that's not code. :sigh: There has been some coding fun this week as I have been working with the TFS API.

                1 Reply Last reply
                0
                • M Member 10707677

                  When I first started in the industry, the standard was that documentation was to be completed before the first line of code. Some refer to that method as the waterfall method. Today, you seldom see documentation; or, what little there is seldom reflects the product for which it is written. As a basic rule of thumb, write your documentation for an eight-year-old. (I used to have my daughter do the final edit of my documentation until she was eleven.)

                  P Offline
                  P Offline
                  PIEBALDconsult
                  wrote on last edited by
                  #24

                  Member 10707677 wrote:

                  documentation was to be completed before the first line of code

                  That's just a specification. I've seen a few of those, read them, said "OK here's a better way to do that", and wrote something that actually made sense instead. Where I am now I just keep saying "documentation is out of date as soon as it's published".

                  K 1 Reply Last reply
                  0
                  • Mike HankeyM Mike Hankey

                    Why is it that we as programmers hate to document? I document code as I go but I write articles for my site on projects and libraries I create and I suck at it, put off doing it and when I do get down to writing it's a slow tedious process.

                    New version: WinHeist Version 2.1.0 There's a fine line between crazy and free spirited and it's usually a prescription. I'm currently unsupervised, I know it freaks me out too but the possibilities are endless.

                    S Offline
                    S Offline
                    StatementTerminator
                    wrote on last edited by
                    #25

                    For one thing, managers generally don't factor documentation time into coding deadlines, so if you spend time documenting it can look like you aren't getting your "real" work done fast enough. But the larger problem is keeping it up-to-date. You may have time to do the initial documentation, but are you going to have time to update it with every change? What about when another team member ninja-edits the code, are you going to regularly check and make sure the documentation still matches the code? I used to try very hard to have good documentation, but I found it to be hopeless. You end up with outdated documentation, which is often worse than no documentation at all. I don't buy the "code should document itself" argument, but for practical purposes that's where we're at, even if you have documentation you still have to go through the code and make sure the documentation isn't lying to you. Edit: There's one time when documentation should be mandatory: when you are leaving a job. You likely aren't going to be needed to meet a coding deadline during your last two weeks, so spend that time documenting the systems you've been responsible for so the next person has something to go by when they pick up those systems. It's good karma, and that's when documentation is really needed and will get read.

                    M 1 Reply Last reply
                    0
                    • Sander RosselS Sander Rossel

                      My code is self-documenting :D I hate documenting my code (i.e. writing manuals), unless it is to teach others how to use a certain technology (like in my blog or articles). And I'm not particulary bad at it. But I do have a degree in Media and Journalism, so I may not be your average documentor :D

                      My blog[^]

                      public class SanderRossel : Lazy<Person>
                      {
                      public void DoWork()
                      {
                      throw new NotSupportedException();
                      }
                      }

                      B Offline
                      B Offline
                      BrainiacV
                      wrote on last edited by
                      #26

                      Sander Rossel wrote:

                      I hate documenting my code

                      One company I worked for, we had documentors that created the documentation in parallel with us. We'd occasionally upset the documentors when we found we had to change something, but we tried to keep it to a minimum. That worked fairly well. Particularly since English was no longer the primary language for the programmers.

                      Psychosis at 10 Film at 11 Those who do not remember the past, are doomed to repeat it. Those who do not remember the past, cannot build upon it.

                      Sander RosselS 1 Reply Last reply
                      0
                      • B BrainiacV

                        Sander Rossel wrote:

                        I hate documenting my code

                        One company I worked for, we had documentors that created the documentation in parallel with us. We'd occasionally upset the documentors when we found we had to change something, but we tried to keep it to a minimum. That worked fairly well. Particularly since English was no longer the primary language for the programmers.

                        Psychosis at 10 Film at 11 Those who do not remember the past, are doomed to repeat it. Those who do not remember the past, cannot build upon it.

                        Sander RosselS Offline
                        Sander RosselS Offline
                        Sander Rossel
                        wrote on last edited by
                        #27

                        Sounds a bit like pair programming, but with one doing documentation. That might actually work...

                        My blog[^]

                        public class SanderRossel : Lazy<Person>
                        {
                        public void DoWork()
                        {
                        throw new NotSupportedException();
                        }
                        }

                        B 1 Reply Last reply
                        0
                        • Sander RosselS Sander Rossel

                          Sounds a bit like pair programming, but with one doing documentation. That might actually work...

                          My blog[^]

                          public class SanderRossel : Lazy<Person>
                          {
                          public void DoWork()
                          {
                          throw new NotSupportedException();
                          }
                          }

                          B Offline
                          B Offline
                          BrainiacV
                          wrote on last edited by
                          #28

                          I really enjoyed it. One case in particular, I had written what I called the "Custom Output Processor" for our database product. I had implemented an RPN style calculator so you could do math before displaying the results on the report. It also had commands for copying fields to the report. It was driven by a table of opcodes and arguments that were interpreted by the code. I had user opcodes like RCL, STO, PRT. I was writing the next generation and wanted to make the processing orthogonal and was merrily adding new opcodes like INP, WRT, etc., and the documentor threw up her hands and declared it unteachable. That caused me to pause and recognize she was correct. I redesigned it replacing all the different user opcodes with MOV and the arguments determined the internal opcode for processing. I was particularly pleased because I made it code compatible with the earlier version. You may have written your processing in the earlier version with RCL and STO, but when you opened them in the newer version, you'd see them converted to MOV with the arguments indicating if you were reading a field, register, or an output field. It really helped having a "non-technical" person commenting on what you were creating. (BTW the database was The Data Factory published by Micro Lab, Inc for the Apple II)

                          Psychosis at 10 Film at 11 Those who do not remember the past, are doomed to repeat it. Those who do not remember the past, cannot build upon it.

                          Sander RosselS 1 Reply Last reply
                          0
                          • B BrainiacV

                            I really enjoyed it. One case in particular, I had written what I called the "Custom Output Processor" for our database product. I had implemented an RPN style calculator so you could do math before displaying the results on the report. It also had commands for copying fields to the report. It was driven by a table of opcodes and arguments that were interpreted by the code. I had user opcodes like RCL, STO, PRT. I was writing the next generation and wanted to make the processing orthogonal and was merrily adding new opcodes like INP, WRT, etc., and the documentor threw up her hands and declared it unteachable. That caused me to pause and recognize she was correct. I redesigned it replacing all the different user opcodes with MOV and the arguments determined the internal opcode for processing. I was particularly pleased because I made it code compatible with the earlier version. You may have written your processing in the earlier version with RCL and STO, but when you opened them in the newer version, you'd see them converted to MOV with the arguments indicating if you were reading a field, register, or an output field. It really helped having a "non-technical" person commenting on what you were creating. (BTW the database was The Data Factory published by Micro Lab, Inc for the Apple II)

                            Psychosis at 10 Film at 11 Those who do not remember the past, are doomed to repeat it. Those who do not remember the past, cannot build upon it.

                            Sander RosselS Offline
                            Sander RosselS Offline
                            Sander Rossel
                            wrote on last edited by
                            #29

                            BrainiacV wrote:

                            It really helped having a "non-technical" person commenting on what you were creating.

                            Sounds useful.

                            BrainiacV wrote:

                            The Data Factory

                            Haven't heard of it.

                            BrainiacV wrote:

                            Micro Lab, Inc

                            Haven't heard of it...

                            BrainiacV wrote:

                            Apple II

                            Haven... Oh wait, I know Apple! The Apple II was released about ten years before I was even born (not to make you feel old or anything, I guess I'm just young) ;)

                            My blog[^]

                            public class SanderRossel : Lazy<Person>
                            {
                            public void DoWork()
                            {
                            throw new NotSupportedException();
                            }
                            }

                            B 1 Reply Last reply
                            0
                            • Sander RosselS Sander Rossel

                              BrainiacV wrote:

                              It really helped having a "non-technical" person commenting on what you were creating.

                              Sounds useful.

                              BrainiacV wrote:

                              The Data Factory

                              Haven't heard of it.

                              BrainiacV wrote:

                              Micro Lab, Inc

                              Haven't heard of it...

                              BrainiacV wrote:

                              Apple II

                              Haven... Oh wait, I know Apple! The Apple II was released about ten years before I was even born (not to make you feel old or anything, I guess I'm just young) ;)

                              My blog[^]

                              public class SanderRossel : Lazy<Person>
                              {
                              public void DoWork()
                              {
                              throw new NotSupportedException();
                              }
                              }

                              B Offline
                              B Offline
                              BrainiacV
                              wrote on last edited by
                              #30

                              No offense taken. It was a long time ago, in a ... (wait, are you too young to recognize the reference? :laugh: ) Beseech the God Google for "The Data Factory" "Micro Lab" and you'll find reviews. It was an old flatfile database program. And no, I'm not Bill Passauer, I was hired to clean up his, uh, code and myself and another ended up rewriting it completely. But that's another story.

                              Psychosis at 10 Film at 11 Those who do not remember the past, are doomed to repeat it. Those who do not remember the past, cannot build upon it.

                              Sander RosselS 1 Reply Last reply
                              0
                              • B BrainiacV

                                No offense taken. It was a long time ago, in a ... (wait, are you too young to recognize the reference? :laugh: ) Beseech the God Google for "The Data Factory" "Micro Lab" and you'll find reviews. It was an old flatfile database program. And no, I'm not Bill Passauer, I was hired to clean up his, uh, code and myself and another ended up rewriting it completely. But that's another story.

                                Psychosis at 10 Film at 11 Those who do not remember the past, are doomed to repeat it. Those who do not remember the past, cannot build upon it.

                                Sander RosselS Offline
                                Sander RosselS Offline
                                Sander Rossel
                                wrote on last edited by
                                #31

                                BrainiacV wrote:

                                It was a long time ago, in a ...

                                I believe that movie came out in the same year as the Apple II ('77) and it's one of my favourite movies ever :D So I guess there goes my excuse ;p

                                BrainiacV wrote:

                                Beseech the God Google for "The Data Factory" "Micro Lab" and you'll find reviews.

                                I won't actually :wtf:

                                My blog[^]

                                public class SanderRossel : Lazy<Person>
                                {
                                public void DoWork()
                                {
                                throw new NotSupportedException();
                                }
                                }

                                1 Reply Last reply
                                0
                                • P PhilLenoir

                                  The Documentors - weren't that nasties in Harry Potter?

                                  Life is like a s**t sandwich; the more bread you have, the less s**t you eat.

                                  K Offline
                                  K Offline
                                  KP Lee
                                  wrote on last edited by
                                  #32

                                  PhilLenoir wrote:

                                  The Documentors - weren't that nasties in Harry Potter?

                                  No, they had a different name and were just the end result of trying to document something.

                                  1 Reply Last reply
                                  0
                                  • M Member 10707677

                                    When I first started in the industry, the standard was that documentation was to be completed before the first line of code. Some refer to that method as the waterfall method. Today, you seldom see documentation; or, what little there is seldom reflects the product for which it is written. As a basic rule of thumb, write your documentation for an eight-year-old. (I used to have my daughter do the final edit of my documentation until she was eleven.)

                                    K Offline
                                    K Offline
                                    KP Lee
                                    wrote on last edited by
                                    #33

                                    Member 10707677 wrote:

                                    documentation was to be completed before the first line of code. Some refer to that method as the waterfall method.

                                    There seems to be different definitions for that method. Some studies have found the most successful projects used a combination of waterfall and agile methods combined. Waterfall starts with an overall plan and relationships. Those ideas are then documented separately breaking it into more plans and relationships. If you keep going like that you can easily get bogged down. Once you get down to about two-three levels, I can see the benefits of abandoning waterfall at that point and going to agile to get early results of the pieces documented to that point.

                                    1 Reply Last reply
                                    0
                                    • P PIEBALDconsult

                                      Member 10707677 wrote:

                                      documentation was to be completed before the first line of code

                                      That's just a specification. I've seen a few of those, read them, said "OK here's a better way to do that", and wrote something that actually made sense instead. Where I am now I just keep saying "documentation is out of date as soon as it's published".

                                      K Offline
                                      K Offline
                                      KP Lee
                                      wrote on last edited by
                                      #34

                                      I've once read some self documenting code. I hit a point where I said to myself "that is just plain wrong logic". When I brought it to the attention of my manager, we couldn't change it because it was written per the spec document. I asked to see the spec document. I conceded the code did exactly what the spec said it should. She thought the matter was closed when I added "It's too bad it isn't doing what it is intended to do." We spent another hour going though the code to prove that what I saw in fifteen seconds was true. (fixed by changing "<" to ">" or vice versa)

                                      M 1 Reply Last reply
                                      0
                                      • S StatementTerminator

                                        For one thing, managers generally don't factor documentation time into coding deadlines, so if you spend time documenting it can look like you aren't getting your "real" work done fast enough. But the larger problem is keeping it up-to-date. You may have time to do the initial documentation, but are you going to have time to update it with every change? What about when another team member ninja-edits the code, are you going to regularly check and make sure the documentation still matches the code? I used to try very hard to have good documentation, but I found it to be hopeless. You end up with outdated documentation, which is often worse than no documentation at all. I don't buy the "code should document itself" argument, but for practical purposes that's where we're at, even if you have documentation you still have to go through the code and make sure the documentation isn't lying to you. Edit: There's one time when documentation should be mandatory: when you are leaving a job. You likely aren't going to be needed to meet a coding deadline during your last two weeks, so spend that time documenting the systems you've been responsible for so the next person has something to go by when they pick up those systems. It's good karma, and that's when documentation is really needed and will get read.

                                        M Offline
                                        M Offline
                                        Member 10707677
                                        wrote on last edited by
                                        #35

                                        Sometimes documentation (and programs) takes on a life of its own. I keep running across snippets of code and documentation I wrote forty-plus years ago.

                                        1 Reply Last reply
                                        0
                                        • K KP Lee

                                          I've once read some self documenting code. I hit a point where I said to myself "that is just plain wrong logic". When I brought it to the attention of my manager, we couldn't change it because it was written per the spec document. I asked to see the spec document. I conceded the code did exactly what the spec said it should. She thought the matter was closed when I added "It's too bad it isn't doing what it is intended to do." We spent another hour going though the code to prove that what I saw in fifteen seconds was true. (fixed by changing "<" to ">" or vice versa)

                                          M Offline
                                          M Offline
                                          Member 10707677
                                          wrote on last edited by
                                          #36

                                          Your mention of self-documenting code reminds me of my university days. One of my professors threatened to fail us if we didn't include comments in the source code. This was in the age when punch cards were still being used, so comments were a nuisance. One of the students turned in a final project with a single comment "RUN PROGRAM" as the first card of the deck. The result, when run, was a listing of the source code with accompaning commentary. Needless to say, he passed.

                                          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