Marble/JJ: Difference between revisions

From KDE TechBase
No edit summary
No edit summary
Line 17: Line 17:
* <b>Add comments</b>. You don't understand some source code in Marble? The probably other people won't either. Try to understand it and ask Marble developers. The add some comments so that the next person will be able to understand the source code much easier (MEDIUM).
* <b>Add comments</b>. You don't understand some source code in Marble? The probably other people won't either. Try to understand it and ask Marble developers. The add some comments so that the next person will be able to understand the source code much easier (MEDIUM).
* Create <b>API-Documentation</b> (EASY).
* Create <b>API-Documentation</b> (EASY).
* </b>Review the API</b>. Make sure that the API is Qt-ish (MEDIUM). Read
* <b>Review the API</b>. Make sure that the API is Qt-ish (MEDIUM). Read


http://doc.trolltech.com/qq/qq13-apis.html
http://doc.trolltech.com/qq/qq13-apis.html

Revision as of 11:44, 18 March 2009

Marble Junior Jobs

If you are new to Marble then you want to check this page. We list a few things you can do which are easy tasks and introduce you to Marble development.

Quality Assurance / Documentation

We want our Marble source code to look good. The documentation should be concise and helpful and the comments shouldn't have spelling errors. Also it shouldn't have any obvious "formal" bugs. Help us to improve our code quality. This is an easy job that helps you to get familiar with the source code. It's the first thing that absolute beginners usually want to look at. We list a few important issues that need to be checked for regularly:

  • Try to find spelling errors in the source code comments and in Marble UI strings. (EASY)
  • KDE Krazy check: Have a look at our static code checker:

http://www.englishbreakfastnetwork.org/krazy/reports/kde-4.x/kdeedu/marble/index.html

Try to understand possible problems and create a fix for them. (EASY/MEDIUM)

  • Get rid of compile warnings: Compile Marble from scratch and check all the warnings that possibly appear. Try to get rid of the warnings by adding fixes. If parameters are not used then you can use Q_UNUSED to get rid of the warnings. (EASY)
  • Compile marble with the cmake option -DPEDANTIC=ON. Fix all errors that come up until Marble compiles through (MEDIUM).
  • Add comments. You don't understand some source code in Marble? The probably other people won't either. Try to understand it and ask Marble developers. The add some comments so that the next person will be able to understand the source code much easier (MEDIUM).
  • Create API-Documentation (EASY).
  • Review the API. Make sure that the API is Qt-ish (MEDIUM). Read

http://doc.trolltech.com/qq/qq13-apis.html

and read the Marble source code. Try to find cases which seem to be non-standard. (MEDIUM)

  • Read our Marble Coding Standards:

http://websvn.kde.org/trunk/KDE/kdeedu/marble/CODING?revision=700337&view=markup

Ensure that the Marble source code follows it (EASY).

  • Help to translate Marble into your own language. Try to find "weird" translations or translations that don't express things in words that a normal user would understand and correct/report them (MEDIUM).
  • Check Bugzilla for Marble bugs:

https://bugs.kde.org/buglist.cgi?quicksearch=Marble

Try to reproduce the bugs and check whether the bugs are still valid. Remove them if they're not valid anymore and seem to be fixed already (EASY). Try to fix them if they are still valid (MEDIUM/HARD).


If you come across a problem don't hesitate to ask us (there are no stupid questions, just people who are afraid of asking for stupid reasons ;-) If you want to send in your patch for review, please send it to our mailing list [email protected].


KML

This section deals with junior jobs that deal with Marble's data structure:

Implement a "simple" tag for KML support (e.g. LookAt)

The <LookAt> tag in KML should be quite easy to implement -- at least compared to the other tags. Alternatively you can try to find a different tag that looks like it would be easy to implement, however you need to check in the handler or data directory whether it is implemented already.

  • Have a look at the KML reference:

http://code.google.com/apis/kml/documentation/kmlreference.html#lookat

  • Have a look at Marble's geodata source (in marble/src/lib/geodata).
  • Try to understand what the parser, the handler and the data stuff does.
  • Create a new handler (EASY)
  • Try to wire Marble's MarbleMap::centerOn() command in a way that it would do what the lookat tag specifies.

Fix the "Earth at Night" map

The earth at night map still shows some shading, when sun shading is enabled.

  • Make sure that the sun shading doesn't get rendered if the map is not supposed to show shading (EASY).