[Kstars-devel] GSoC 1: The KStars code-restructuring project
Akarsh Simha
akarshsimha at gmail.com
Sun Feb 13 09:21:09 CET 2011
Here's a copy-paste of the current description on the Wiki, so we can
inline.
====================================================================
*** KStars: Decouple computational code from the UI and Database ***
Brief explanation: KStars has its computational code tightly bound to
the rest of the application. The aim of this project is to:
1. Investigate possible replacements for KStars' in-house computation,
like libnova. It is important to keep KStars cross-platform. Hence
we should look at cross-platform replacements.
2. Decouple KStars' interface and database from its computational code
3. Create a KStars computational engine library which contains all the
computational code
4. Write test cases to ensure that
5. Get KStars to use this library
6. If time permits, write an interactive command-line client / python
module / D-Bus interface to use this library.
More details will be fleshed out after a week or so.
Expected results: Clean, restructured code for KStars, which now uses
a library that can be re-used in user-written scripts etc.
Knowledge Prerequisite: A good grasp over C++ and object-oriented
programming, and Qt; writing test cases with Qt; should
quickly learn how to write libraries; have a lot of
patience; ability to solve software design problems
====================================================================
This project, IMO, requires the utmost detailed analysis. We need to
decide how we are going to move things around.
Here are my TODOs for this project:
1. Learn how to write libraries
2. Investigate if libnova is a good choice [Is it even cross platform?
Can it be made cross-platform?]
3. See which parts of KStars are the easiest to fork away
4. See what other project ideas this will impact
5. Figure out how to write test cases
6. Decide the library's interface methods. How far should the library
go? Should it include "routines" like conjunctions, starhop path
etc?
7. Decide (maybe using UML diagrams) what classes will be implemented
and how they will talk to each other.
Regards
Akarsh
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
Url : http://mail.kde.org/pipermail/kstars-devel/attachments/20110213/78c4dde0/attachment.sig
More information about the Kstars-devel
mailing list