Go to Post We win as a team and lose as a team. - Zuhaib Ali [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
 
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 29-04-2004, 16:32
Kevin Watson's Avatar
Kevin Watson Kevin Watson is offline
La Cañada High School
FRC #2429
Team Role: Mentor
 
Join Date: Jan 2002
Rookie Year: 2001
Location: La Cañada, California
Posts: 1,335
Kevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond repute
Re: Coding / Style Standards for sharing C code

Quote:
Originally Posted by Joe Johnson
Okay, Mark is one. How about some more folks? Dave Flowerday? Kevin Watson?
You guys might want to start with something like the Indian Hill C Style and Coding Standards document.

-Kevin
__________________
Kevin Watson
Engineer at stealth-mode startup
http://kevin.org
  #2   Spotlight this post!  
Unread 29-04-2004, 17:22
Mark McLeod's Avatar
Mark McLeod Mark McLeod is offline
Just Itinerant
AKA: Hey dad...Father...MARK
FRC #0358 (Robotic Eagles)
Team Role: Engineer
 
Join Date: Mar 2003
Rookie Year: 2002
Location: Hauppauge, Long Island, NY
Posts: 8,954
Mark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond repute
Re: Coding / Style Standards for sharing C code

Quote:
Originally Posted by Kevin Watson
You guys might want to start with something like the Indian Hill C Style and Coding Standards document.

-Kevin
I agree Kevin. That's what I've used before.
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.
__________________
"Rationality is our distinguishing characteristic - it's what sets us apart from the beasts." - Aristotle

Last edited by Mark McLeod : 29-04-2004 at 18:52.
  #3   Spotlight this post!  
Unread 29-04-2004, 17:33
mtrawls's Avatar
mtrawls mtrawls is offline
I am JVN! (John von Neumann)
#0122 (NASA Knights)
Team Role: Programmer
 
Join Date: Mar 2003
Location: Hampton, VA
Posts: 295
mtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to behold
Send a message via AIM to mtrawls
Re: Coding / Style Standards for sharing C code

Quote:
Originally Posted by Mark McLeod
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.
Maybe this article will help? (Ignore perl specific stuff, obviously.) Specifically:

Quote:
Coding standards needn't be onerous. Just because there are bad coding standards out there, doesn't mean that all coding standards are bad.

I think the way to a good coding standard is to be as minimalist as possible. Anything more than a couple of pages long, or which deviates too far from common practice, will frustrate developers and won't be followed. And standards that are too detailed may obscure the fact that the code has deeper problems.
This sounds like a really good idea, and I hope it proves successful.
  #4   Spotlight this post!  
Unread 29-04-2004, 17:43
Greg Ross's Avatar
Greg Ross Greg Ross is offline
Grammar Curmudgeon
AKA: gwross
FRC #0330 (Beach 'Bots)
Team Role: Mentor
 
Join Date: Jun 2001
Rookie Year: 1998
Location: Hermosa Beach, CA
Posts: 2,245
Greg Ross has a reputation beyond reputeGreg Ross has a reputation beyond reputeGreg Ross has a reputation beyond reputeGreg Ross has a reputation beyond reputeGreg Ross has a reputation beyond reputeGreg Ross has a reputation beyond reputeGreg Ross has a reputation beyond reputeGreg Ross has a reputation beyond reputeGreg Ross has a reputation beyond reputeGreg Ross has a reputation beyond reputeGreg Ross has a reputation beyond repute
Send a message via AIM to Greg Ross Send a message via Yahoo to Greg Ross
Re: Coding / Style Standards for sharing C code

Quote:
Originally Posted by Mark McLeod
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.
Maybe this could be in the same form as the FAQs here on CD, where there would be single line statements of each point of the standard, and those would be linked to the in-depth definitions.
__________________
Greg Ross (The Grammar Curmudgeon formerly known as gwross)
S/W Engineer, Team 330, the Beach 'Bots
<--The Grammar Curmudgeon loves this cartoon.
“Life should not be a journey to the grave with the intention of arriving safely in a pretty and well preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming "Wow! What a Ride!" Hunter S. Thompson
"Playing a practical joke means doing something mean and calling it funny." Me
  #5   Spotlight this post!  
Unread 29-04-2004, 20:00
Mark McLeod's Avatar
Mark McLeod Mark McLeod is offline
Just Itinerant
AKA: Hey dad...Father...MARK
FRC #0358 (Robotic Eagles)
Team Role: Engineer
 
Join Date: Mar 2003
Rookie Year: 2002
Location: Hauppauge, Long Island, NY
Posts: 8,954
Mark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond repute
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.
  • Indian Hill C Style Guide as a basis
  • Bring up and discuss any dissentions or alternative styles
  • Associated assembly code standards
Additions/extentions to the above:

-Utilities like "Artistic Style" and lint.

-Design standards (now some of these might be overkill for FIRST) like:
  • Information Hiding - e.g., keep variable definitions visible only to the lowest level that requires it. Within a single routine, within a Project file, or available as a Project wide global variable.
    • Context-based Control - e.g., functions capable of being executed independent of any previous or subsequent executions. Use context structures to maintain information that must be remembered from loop to loop.
    • Object Oriented approach - not true inheritance or anything like that, but for example if you have a widely used data structure you might want to develop a defined set of methods to manipulate data within the structure.
    • Modular functions loosely coupled to the "outside" world.
  • Error Handling - do we want some standardization here since people will be using the repository functions as drop-ins?
  • Function interface standards
What else should we be collectively looking at?



If we can get through some initial brainstorming we can start to divide and conquer the problem.
__________________
"Rationality is our distinguishing characteristic - it's what sets us apart from the beasts." - Aristotle

Last edited by Mark McLeod : 29-04-2004 at 20:05.
  #6   Spotlight this post!  
Unread 30-04-2004, 08:57
Joe Johnson's Avatar Unsung FIRST Hero
Joe Johnson Joe Johnson is offline
Engineer at Medrobotics
AKA: Dr. Joe
FRC #0088 (TJ2)
Team Role: Engineer
 
Join Date: May 2001
Rookie Year: 1996
Location: Raynham, MA
Posts: 2,648
Joe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond reputeJoe Johnson has a reputation beyond repute
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.
  #7   Spotlight this post!  
Unread 30-04-2004, 09:21
Mark McLeod's Avatar
Mark McLeod Mark McLeod is offline
Just Itinerant
AKA: Hey dad...Father...MARK
FRC #0358 (Robotic Eagles)
Team Role: Engineer
 
Join Date: Mar 2003
Rookie Year: 2002
Location: Hauppauge, Long Island, NY
Posts: 8,954
Mark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond repute
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.
__________________
"Rationality is our distinguishing characteristic - it's what sets us apart from the beasts." - Aristotle
  #8   Spotlight this post!  
Unread 30-04-2004, 11:54
Kevin Watson's Avatar
Kevin Watson Kevin Watson is offline
La Cañada High School
FRC #2429
Team Role: Mentor
 
Join Date: Jan 2002
Rookie Year: 2001
Location: La Cañada, California
Posts: 1,335
Kevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond repute
Re: Coding / Style Standards for sharing C code

Quote:
Originally Posted by Joe Johnson
Okay, here is what I think I hear so far:
Kevin Watson has not declared himself as "IN" but is at least making suggestions.
Uh oh, peer pressure . Yes, you can pencil me in.

-Kevin
__________________
Kevin Watson
Engineer at stealth-mode startup
http://kevin.org
  #9   Spotlight this post!  
Unread 30-04-2004, 14:01
Gene F's Avatar
Gene F Gene F is offline
FIRST Fanatic
AKA: Gene Falendysz
#0343 (Metal in Motion)
Team Role: Engineer
 
Join Date: Mar 2002
Rookie Year: 2001
Location: Oconee County, SC
Posts: 218
Gene F is a splendid one to beholdGene F is a splendid one to beholdGene F is a splendid one to beholdGene F is a splendid one to beholdGene F is a splendid one to beholdGene F is a splendid one to beholdGene F is a splendid one to beholdGene F is a splendid one to behold
Send a message via AIM to Gene F
Re: Coding / Style Standards for sharing C code

Quote:
Originally Posted by Joe Johnson
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.
Please count me in too.
__________________
- Gene Falendysz
  #10   Spotlight this post!  
Unread 30-04-2004, 14:47
Astronouth7303's Avatar
Astronouth7303 Astronouth7303 is offline
Why did I come back?
AKA: Jamie Bliss
FRC #4967 (That ONE Team)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Grand Rapids, MI
Posts: 2,071
Astronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud of
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:
  • Allow C++ style comments
  • 1 of the properties of each upload should be "Target System". Right now there only is 5: 'PBASIC Stamp (EDU)', 'PBASIC Stamp (Full)', 'PIC18Fxx (EDU)', 'PIC18Fxx (Full)', and 'None'. 2 of the same processor can be selected (not EDU/Full specific)
  • Hardware info should be noted and ALIASed. (is that a word?) This allows for rapid integration.
  • Actual formating should be uniform with the default code (except for the C++ comment thing)
  • any TABS included will be changed to 4 spaces on upload (or just rejected outright)
  • only debuged code should be uploaded.
  • upload as file(s), NOT textbox.
  • allow multiple files in upload
  • a set of standard libs, functions, etc. are provided ('#include <Repositroy.h>') (Or assumed to be provided)
  • items-in-progress should be marked as such
  • currently, only .h, .c, .bsx, and .zip files are allowed for actual code (Probably will expand)
    Zips can contain full projects, but files MAY be filtered out as deemed necessary by the moderator(s)
  • tools, etc. are kept seperate from code. all tools must be open source. (A 'tool' is anything related to code but is not actually code itself)
  • all code has same EULA: 1) Code is given AS IS. 2) give credit where credit is due. 3) may NOT use code to make money.
  • White space should be included where the C spec allows.
  • PLENTY OF COMMENTS
  • a whitepaper/explainitory file can be included (seperate from code, but accesed together)
  • I know there's more...
I'm focusing more on the repository than the code itself.

Some stuff from the first thread:
  • Integration into CD. [...]
  • More nesting of categories. I know that isn't an issue (yet), but if this thing takes off...
    [...]
  • Improved interface (I'm too used to CD!)

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"?
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

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


All times are GMT -5. The time now is 04:36.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi