I can't really figure out how to comment #Rust. I'm so used to so much happening in #Python one-liners that need a big paragraph length explanation above them.
With Rust I just wind up with rare little comments marking (to avoid future befuddlement) little tiny things happening and the function name and definition documents what the code does. Comments above functions are really just big markers so I can find where stuff starts.
"Who needs comments... can't you just read variable names?"
@stevenaleach The things I really need comments for (the comments that I forget to make) is when I redo something because it seems more logical / cleaner / faster but it turns out to be a bad idea. Because I have absolutely gone back and tried to do the same stupid thing again and then gone "Wait haven't I tried to change this before unsuccessfully?".
@drgroftehauge And I had a lot of checking step by step while building up functions printlns that I initially commented out and left in so I had what's going on commentary..... but I cleaned them out as each bit got finished.
Maybe leaving good "check what's happening here" printlns commented out *is* the best strategy actually and I should have left them all and made them really nice and explanatory.
The problem with commented code is that the compiler will not help to keep commented code up to date at the next code change.
So I delete commented code at commit time.
Using variable names to avoid comments is always preferable, but finding good variable names can be hard. And I see no way around that.
@KingmaYpe @drgroftehauge I'm happy that I built my project as a bunch of little services that work together so that I can swap them out with improved versions bit by bit.
I've decided not to enhance (just finalize) my current implementation (a multi-functional binary that takes on each role based on argv[1]), but to split each component off one at a time for enhancement and improved implementation.
I'm hoping to have decided on a good documentation convention by the time that begins.
Make sure to have a version field in the protocols between the little services.
Unexpected upgrades will happen.
@KingmaYpe @drgroftehauge After things start splitting off I plan to just increment the minor version when there's a protocol addition / change and I'll start incrementing the patch version when I call this stuff done and plop the README.md on github.
I expect to be writing that (and example notebooks) for quite some days or maybe weeks to come. I'm done predicting when I'll finally call it finished enough for text to go onto github.
I think it's safe to say version doesn't matter until then.