← Back to team overview

kicad-developers team mailing list archive

Re: Joining the dev group


Matt Wright wrote:

Hi all,

I've recently started using Kicad, and so far I've found it the best of the alternatives I've tried. I'll probably be using it a lot in the future so I'd like to contribute to the project, if there's anything I can do to help.

My name is Matt Wright. I'd probably count as a relative beginner programmer of C++ - I don't have much experience working on team projects or contributing to open source programs.

While I was using Kicad there were a few features that would have improved my own personal usage, particularly in gerbview. One of these is the ability to mirror blocks (maybe not much use if you're getting the pcb manufactured, but I use it for home etching). I've attached a small patch, if you're interested. I've tried to follow existing code style, but please let me know if there's anything you'd like done differently.

Thanks for the patch. It looks pretty good. I have two suggestions:

1) change your two while loops to for loops:

for( TRACK* track = m_Pcb->m_Track; track; track = track->Next() )

This way we can see the track = track->Next() which is part of the iteration. If the iterated block was smaller this would not be as big of a concern.

2) Put in a Doxygen compatible comment in the header file. The Doxygen config file is setup for header file precidence so we want nice comments in the header. I usually don't put any comment in the *.cpp file, as it means duplicate maintenance.

See function INSPECTOR::Inspect() in base_struct.h as a good example. Then run Doxygen on your project and look at the HTML results of your comment and others. You can use the <p> to put in a paragraph into the output.

If you resubmit the patch I will commit it.

On a related note, I know this has been asked a few times on the mailing list, but just to double-check my understanding, what is the etiquette with changes to the program? It seems like there are a few locations for work to be done - TODO.txt and the bug and feature tracking pages. Any I've missed? I think it's been said before that small changes can just be submitted (for people with svn write permissions of course). Is this still accurate?

What's the suggested procedure for larger changes like most additional features? Bouncing the idea and implementation plan off the mailing list first?

Since you are a beginner it would be appreciated if you can post the patches any larger than say 10 lines to this list for awhile.

Adding an entry to the feature tracker and waiting for comment?

Well if you don't plan on coding it yourself, putting it on the tracker will keep it from getting lost. Things on this list get lost, and in fact anybody that is not subscribed to this list will never even see any attachments to it. Those that subscribe can get the whole attachment as I recall.



Follow ups