TheGeneGenieProject / GeneGenie.Gedcom

A .Net library for loading, saving, working with and analysing family trees stored in the GEDCOM format.
GNU Affero General Public License v3.0
53 stars 22 forks source link

Documentation #11

Closed RyanONeill1970 closed 1 year ago

RyanONeill1970 commented 8 years ago

The original project that this was forked from did not have any developer documentation and I'd like to build this up through XML comments.

There are a lot of junk comments (TODO and GhostDoc / nonsensical filler to remove compiler warnings) and these all need replacing with developer friendly descriptions.

Obviously, that's a lot of comments but they can be broken down into areas (individuals, events etc.).

If we can generate online documentation for this at the time of build then all the better. See http://docs.readthedocs.io/en/latest/webhooks.html

grantwinney commented 8 years ago

I took some time to clean up those rogue xml doc comments. I didn't get through all of them (maybe half?), but made a dent anyway. I hope it helps... I know this is quite a huge PR and hope it wasn't too big of a bite...

I pulled a lot of enumeration descriptions from GenWiki and Geni. Didn't realize until after the fact that a lot of descriptions are already present in lists in the GedcomEvent class.

I moved some TODO statements out of the summary into the first line of whatever method they were in, which seemed to me more appropriate, but stopped after a few because I wasn't sure you'd want it.

I added comments to a few public methods that had no comments but where their purpose was clear.

Some random observations:

RyanONeill1970 commented 8 years ago

That's brilliant, very much appreciated. You are right about inheritdoc, it was just filled in by GhostDoc and was a way of me keeping coding without thinking about it. I'll stop doing that now the docs are forming.

The output methods are called by the record writer and output that particular record or sub record as a GEDCOM line. So they are for file writing.

Date ranges, you are correct. It's possible to state dates as 1910, Jan 1910 or Bet 1900 And 1901. They all come out as ranges so they can be matched later.

grantwinney commented 8 years ago

No problem, glad to hear it was a helpful contribution!

Now that I know I was on the right course, I submitted one more PR. I got quite a bit, but not everything... def more opportunities in there for others who are looking to help contribute, but personally I'm all doc'd out for now. :smile:

lowenthal-jason commented 8 years ago

I think this becomes even more important if we ever to decide to expose any of this via some kind of public API.

RyanONeill1970 commented 8 years ago

Definitely. It's going to be usable as a library so a lot of these comments will become part of the IntelliSense.