← Back to team overview

kicad-developers team mailing list archive

Re: Kicad functionality explanation help

 

Hello all,

I’m a beginner to Kicad source code. I’m looking to test some modules and components. Is there a way to learn which module does what in the repo? I have the source code with me.  The whole project seems a bit complex so I’m trying to figure out one part , test it and then increase tests to other parts to cover most or all of it.  I am sort of familiar with understanding large code bases but am finding a starting point. I have been told to look at the directory below and write tests there. 
https://gitlab.com/kicad/code/kicad/-/tree/master/qa

The entire code is below: 
https://gitlab.com/kicad/code/kicad/-/tree/master

If you can, can you please suggest any documentation or emails or anything which can explain which module does what and how does each module work ? Examples of some modules I’m wanting to learn to test are eeschema, pcbnew, qa_utils, gerber and geometry just to name a few. I  also looked at UI and other things such as 3d viewer modules. I figure there may be UI related bugs because there were crashes as listed in the mailing list or in the issue list here:
https://gitlab.com/kicad/code/kicad/-/issues

The number of issues is about 1170 on any day since a few months. My goal is to reduce the number of open issues to a bare minimum or eliminate them.
I had some discussions with the developers and they didn’t accept suggestions that writing detailed software requirements and design specifications to reduce bugs would work as most developers are volunteers. 

Thanks,
Amit