[bt-devel] refactoring

Jaak Ristioja Ristioja at gmail.com
Thu Jul 15 12:15:28 MST 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 15.07.2010 15:49, Olaf Radicke wrote:
> Bad news: I workd over 50 h on the Code. How ever i change the code, i get a  
> uncontrollably Chain reaction. It's a little bit like a Jenga-Game 
> (http://en.wikipedia.org/wiki/Jenga).
I'm a relatively new BibleTime developer, but this has also happened to me more than four
times.

> 1.) excessive forward declaration.
What do you mean by this?

> 2.) unreasonable transmission design.
If I understand you correctly, then yes.

> 3.) chaotically namespaces.
Somewhat.

> 4.) careless class-interfaces.
Yes.

> 5.) many classes did not document and work obskur.
Yes. Or the documentation is too outdated to make any sense.

> So i think, whenever a new developer looks on it, he think: "oh fu**, no 
> way!" It's a /vicious circle/.
http://www.osnews.com/story/19266/WTFs_m

> Thus which can we do? Which always we touch in the code, brings high risk for 
> stability. Thus i suggest, beginning with a alternative and autonomous GUI. 
> User can switch the GUI with a flag by starting programm. that is a compromise 
> between stability and progressed.
This is definitely something to consider. However, I fear that we also need to rebuild
great parts of the backend. To make matters worse, the SWORD library is also very obscure
to use.

> by the way, we can completely again consider those GUI. I does not like 
> multiple document interface (MDI), as example. MDI needs much place, without 
> more functions than flying windows.
I think we must keep MDI.

> I think QSplitter is a better way. 
We might also implement QSplitter based GUI, but current MDI options also must stay, I
think. Otherwise we might lose a lot of users.

> another point is the "bookshelfmanager". It's always visible and needs much 
> place too. But how often one it uses? Better it is a dialogue. besides the 
> function is redundant(doubles) in the MDI-Windows (now).
I think a better option is a "bookshelf manager" which is only visible when the user opens
it. It is still visible in the main window, but it might overlap the MDI area. I think
Microsoft Visual Studio has something like that. The user can optionally make that widget
"always visible". I think Qt can't do this with dock widgets yet, but we could make our
own widgets for this.

When developing a new GUI, we should probably also make it scale to small embedded
devices, like mobile phones (e.g. the Nokia N900).

Best regards,
Jaak Ristioja
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.15 (GNU/Linux)

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
MzZWtNAVIA0QLVvixBz5
=r7Oq
-----END PGP SIGNATURE-----



More information about the bt-devel mailing list