|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#16
|
|||||
|
|||||
|
Re: Coding / Style Standards for sharing C code
I too would be willing to contribute to this effort. I like the idea of using a program to "beautify" the code before submitting it. I also believe that we should have some kind of rating system so that it is easier to identify the value of contributions to the community. It would make it easier to maintain the repository over the long haul. Anyone that downloads the code would be asked to rate it on several metrics like quality of code, clarity of documentation, value of functionality, etc.
I too, like Dave, do this kind of thing for a living. |
|
#17
|
||||
|
||||
|
Re: Coding / Style Standards for sharing C code
Quote:
-Kevin |
|
#18
|
||||
|
||||
|
Re: Coding / Style Standards for sharing C code
If you give the teams a reason to use the "CD Standard" then they will use it.
For instance, we create a code depository with every single line of code following the "CD Standard." We also get IFI, or someone who can work closely with IFI to set the default code up in the "CD Standard." Furthermore, make sure that teams can "drag and drop" code from the depository into the default code with little to no effort at all, so that teams can quickly get a working program. When you set things up, and, well, force the teams to use the "CD Standard," most teams will follow suite and use it. Also, perhaps make a rule that any true C code (not pseudo-code, for obvious reasons) must be in the "CD Standard" for us to quickly give help and answers. Another forum I frequent (Gentoo Linux Forums, http://forums.gentoo.org), the forum members usually ask for posters to remove comments from their configuration files so they don't waste everyones' time by making them re-read all the comments in XF86Config again. It's a simple request, and yes, it's not the nicest thing to do, but it enforces the standard, which in the end, should make it easier for everyone. The thing about a standard is, everyone has to use it, or else it's not really a standard, and you've just basically wasted your time, and we all know that from January to late February, we don't have any time to waste . |
|
#19
|
|||||
|
|||||
|
Re: Coding / Style Standards for sharing C code
Quote:
I also agree with employing a "Pretty Print" style clean-up program as Dave suggested to make it easier to be sure new code adheres to the CD standard. And Gene's rating system is interesting. I think the coding standard itself will be fairly easy to define. For general consumption I think we'll need to be able to condense the major points to one or two sheets of bullets that is then backed by the in-depth standard definition and reasoning. [edit] We'll need to think hardest about platform (PIC) specific and IFI specific standards. Last edited by Mark McLeod : 29-04-2004 at 18:52. |
|
#20
|
|||||
|
|||||
|
Re: Coding / Style Standards for sharing C code
Quote:
(And I think maybe a moderated forum and an associated white paper section would be good.)Anyway, I am interested in being a part of this project too. I agree with Dave's suggestion that code should be peer reviewed before it is accepted into the repository. I also agree with Kevin's suggestion that we start with an established standard, rather than reinventing the proverbial omni wheel. Max, you've got some good questions, but I don't know that every one needs to be tacked down before we consider coding styles. Maybe another thread for that? |
|
#21
|
||||
|
||||
|
Re: Coding / Style Standards for sharing C code
Quote:
Quote:
|
|
#22
|
|||||
|
|||||
|
Re: Coding / Style Standards for sharing C code
Quote:
|
|
#23
|
|||||
|
|||||
|
Re: Coding / Style Standards for sharing C code
We probably should address repository, software licenses, the rating system, and other side-issues in either the original thread or in new threads and keep this one focused purely on coding standards. Since the original thread was co-opted we might want to start a new thread with a title like "Code Repository."
Okay, let's think about this.
-Utilities like "Artistic Style" and lint. -Design standards (now some of these might be overkill for FIRST) like:
If we can get through some initial brainstorming we can start to divide and conquer the problem. Last edited by Mark McLeod : 29-04-2004 at 20:05. |
|
#24
|
||||||
|
||||||
|
Re: Coding / Style Standards for sharing C code
Okay, here is what I think I hear so far:
Marc McLeod is in. gwross is in. Dave Flowerday is in. Kevin Watson has not declared himself as "IN" but is at least making suggestions. Many others are also interested at least in terms of comments and suggestions. I am still waiting to hear from the Jason Morella/Dave Lavery collective to see if they have a rep they want on. I am going to see if I can get on of the C guys from my team to "volunteer" I also need to get in contact with Innovation First -- Perhaps we can get Bob and Tony to volunteer Mark Lambert or one of there other coders to the project. There have been a lot of discussion/suggestions on this thread, but as I have said many times, I don't really want to solve the problem here. I think the purpose of this thread should be to firm up the group of people that are going to take ownership of this thing and propose a big picture solution. Joe J. |
|
#25
|
|||||
|
|||||
|
Re: Coding / Style Standards for sharing C code
It's hard to restrain myself from start to throwing ideas around as I think of them. I'll restrain myself. I'm camping this weekend anyway, so I'll be out-of-touch until Monday.
|
|
#26
|
||||||
|
||||||
|
Re: Coding / Style Standards for sharing C code
Quote:
Now, this may not be a problem in FIRST, as I would assume that no one would ever pursue any type of copyright violations. However, if we are going to take the time to teach students about coding standards, we should spend a few extra minutes and talk about correct licensing. If you really want something with no license, you must explicitly grant it into the public domain. However, the person would have to agree to this when the code is entered into the repository, and a notice that this code is in the public domain would have to appear on the site. Of course, there are many other licenses that are open source, some would be good for this project, and others wouldn't. The BSD license (http://www.opensource.org/licenses/bsd-license.php) Allows any modification to the code to be used for any reason, as long as the license notice is retained. Thus, it is close to being public domain, but you guarantee that your name will stay with the code for posterity (as opposed to the public domain, where you could remove any notices from the code). Another problem depends on whether the code is distributed as a library, or a snippet of code (such as a function). If you paste a snippet of code into your file (including the license), you've then licensed the whole source file. So, you are restricted from choosing your own license for other parts of your code. If the code is distributed as a library, it is a little different. If the code licensed under the GPL (http://www.opensource.org/licenses/gpl-license.php), then anything that uses the code must also be GPL. However, if the library is licensed under the LGPL (http://www.opensource.org/licenses/lgpl-license.php), anything that uses it can have a different license. Even if someone licenses their library as GPL, for FIRST robots, it probably doesn't mean that you have to give other people your entire robot code, however. Under the GPL, you only have to distribute your source to the people who you distribute binaries (it doesn't need to be publicly accessible). Since it isn't likely that you will be giving someone your robot's HEX file, you really don't need to distribute the source. This last issue makes this not as big of an issue, but it should be addressed in some way.would have to appear on the site. Of course, there are many other licenses that are open source, some would be good for this project, and others wouldn't. The BSD license (http://www.opensource.org/licenses/bsd-license.php) Allows any modification to the code to be used for any reason, as long as the license notice is retained. Thus, it is close to being public domain, but you guarantee that your name will stay with the code for posterity (as opposed to the public domain, where you could remove any notices from the code). Another problem depends on whether the code is distributed as a library, or a snippet of code (such as a function). If you paste a snippet of code into your file (including the license), you've then licensed the whole source file. So, you are restricted from chosing your own license for other parts of your code. If the code is distributed as a library, it is a little different. If the code licensend under the GPL (http://www.opensource.org/licenses/gpl-license.php), then anything that uses the code must also be GPL. However, if the library is licensed under the LGPL (http://www.opensource.org/licenses/lgpl-license.php), anything that uses it can have a different license. Even if someone licenses their library as GPL, for FIRST robots, it probably doesn't mean that you have to give other people your entire robot code, however. Under the GPL, you only have to distribute your source to the people who you distribute binaries (it doesn't need to be publicly accessible). Since it isn't likely that you will be giving someone your robot's HEX file, you really don't need to distribute the source. This last issue makes this not as big of an issue, but it should be addressed in some way. |
|
#27
|
||||
|
||||
|
Re: Coding / Style Standards for sharing C code
Make it public domain and I like the idea of a library for distribution.
Building a Black-box. The code is locked from tickering hands, and a document containing 1. function prototype 2. Description of the function 3. Original Author Can be made up fairly easily. Versioning of the library would simplify things too. my 2 cents.. Phil |
|
#28
|
||||
|
||||
|
Re: Coding / Style Standards for sharing C code
Quote:
. Yes, you can pencil me in.-Kevin |
|
#29
|
|||||
|
|||||
|
Re: Coding / Style Standards for sharing C code
Quote:
|
|
#30
|
|||||
|
|||||
|
Re: Coding / Style Standards for sharing C code
Here's my 2 cents. (Wrote this up yesterday)
My thoughts on what the standard should be:
Some stuff from the first thread:
I am willing to help hammer this thing out/code it/whatever. Be warned: I'm 15 (almost 16) and don't have any professional coding expierience. I encourage the guys who end up making this (Why just the profesionals?) to get a forum, but I think keep it public. Those who aren't actually writting should try to restrain from posting there, but I think they should be able to. What's the noun for "a piece of code that is uploaded to a code repository"? |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| heres the code. y this not working | omega | Programming | 16 | 31-03-2004 15:18 |
| Inserting Naviagation code into Default code? | actorindp | Programming | 3 | 28-01-2004 18:12 |
| Help On Coding 2K1 Controller | GregTheGreat | Programming | 9 | 05-12-2003 18:35 |
| style | srawls | Programming | 19 | 23-05-2002 17:02 |