![]() |
Thoughts On Comments In Team Code
I was busy rewriting my teams code today, just cleaning up some things and adding comments, and I realized that I tend to over comment things (at least in my opinion) when I write code for robotics. Upon realizing this, I decided that in reality, it's good that I over comment my code, as we always have some new programmers each year, and I think it's good for all the comments to be there so that they know what's going on and can hopefully learn how the code works so that they can then go and write it on their own. Here's a sample of the amount of comments I tend to write:
Code:
void DriveBase::DriveTank(float left_speed, float right_speed){Let me know what you guys think, I'm very interested in knowing your opinions on the subject. |
Re: Thoughts On Comments In Team Code
Our team doesn't put cmments inside our methods. We Java Doc our code, with easily explainable wording so others can understand what is going on.
During development we typically do, but we transfer to Java Docs sooner or later. |
Re: Thoughts On Comments In Team Code
Quote:
|
Re: Thoughts On Comments In Team Code
So I comment my code a lot, but I don't comment the obvious. Like setting the speed to the motors is pretty clear from the code. But I did change the variable names on the code to make it clear it was front_left and not f1. (See you looked to "is that a one or an L"). Same thing with the dashboard. The code is clear, so the "set the dashboard" comments don't add any value. A reminder about the inversion isn't needed since we saw the comment 7 lines before, but it's a little weird, so worth a comment.
And if this is where the drive speed is actually set then I'd do the speed inversion here. That way the entire stack on top is going Foward is positive (+) Reverse is negative (-) and does not need to do the "well the right motors need to be inverted" every place else. That would also get rid of the need to re-invert it back for the display. That would reduce some code complexity. My 2 cents since you asked, your mileage WILL vary. :rolleyes: Code:
void DriveBase::DriveTank(float left_speed, float right_speed){Code:
void DriveBase::DriveTank(float left_speed, float right_speed){ |
Re: Thoughts On Comments In Team Code
Quote:
|
Re: Thoughts On Comments In Team Code
Quote:
|
Re: Thoughts On Comments In Team Code
I encourage the students to comment the 'why' not the 'what'. When students are writing code the 'what' should be obvious. If not then it should probably be re-written. Commenting 'why' something is done is much more useful to someone reading the code.
|
Re: Thoughts On Comments In Team Code
Quote:
|
Re: Thoughts On Comments In Team Code
Quote:
|
Re: Thoughts On Comments In Team Code
Quote:
|
Re: Thoughts On Comments In Team Code
Quote:
Seriously, don't do that. Comments that merely echo the code are distracting at best. They can actually be confusing and counterproductive, as they can give the reader the impression that the author is trying to explain something unobvious about what the code is doing. Keep putting the "block comments" at the beginning of sections, explaining what the code is for, and explain assumptions and possible side effects, but don't overdo the line-by-line commentary on what the code does. You can better document that kind of information by choosing appropriately detailed and helpful names for functions/methods and variables. For example, instead of the abbreviated fl_motor, make the reader's job easier by calling it front_left_motor. Instead of left_speed, be more explicit with left_speed_desired or left_drive_commanded. That way it is obvious that you're not talking about left_speed_measured or left_intake_commanded. |
Re: Thoughts On Comments In Team Code
Our coding guidelines at work say this about comments:
Quote:
Code:
/** |
Re: Thoughts On Comments In Team Code
From one who is not a programming person, comments are akin to the "show all your work" direction for math problems. However, when writing consider your audience.
|
Re: Thoughts On Comments In Team Code
Quote:
|
Re: Thoughts On Comments In Team Code
I'd echo what Alan said. Using clear variable names and avoiding confusing syntax is better practice than over commenting within code. Definitely have everything documented in Java Docs if you're using Java though.
|
| All times are GMT -5. The time now is 06:10. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi