straw-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Straw-devel] merging related classes


From: Juri Pakaste
Subject: Re: [Straw-devel] merging related classes
Date: Sun, 19 Sep 2004 15:59:10 +0300

On Sun, 2004-09-19 at 18:03 +1000, Jan Alonzo wrote:
> Hi,
> 
> I want to propose that we merge related classes in one module. This will
> reduce the number of modules that we have and also, IMO, make straw more
> maintainable.

This turned out more negative than I thought :-) I disagree with most of
this, but not for the same reasons in all the cases.

> 
> 1. OPML, OPMLExport, OPMLImport
> 
> I think we should merge all three classes in opml.py.

Disagree. OPMLExport and OPMLImport we can and probably should merge
(OPMLIO?), but not OPML. OPML does only the format and know nothing
about Straw. Cleaner to keep it separate. It's theoretically even
maintained separately, although I haven't updated the separate version
recently. Should do that.

> 2. dashboard, DashboardFrontend
> 
> Merge DashboardFrontend in dashboard.py

Disagree. DashboardFrontend is by me, dashboard.py is by whoever who
contributed it to Dashboard, it's copied from the Dashboard sources. If
it needs updating, assuming its interface doesn't change, merging it
with DashboardFrontend will only increase the pain.

> 3. FeedItems, QueueDict
> 
> QueueDict in FeedItems since only FeedItems is using it anyway.

On file level I guess it's ok, as long as the classes aren't mixed
(although the FeedQD class should be renamed, maybe to QueueDict.) I'm
not quite sure about this, though: the nice thing about it being in a
separate file is that it makes it apparent at a glance that it doesn't
depend on any other part of the code. And I'm not certain it's worth it,
it's an abstract data structure that's supposed to have well-defined
semantics and a tested implementation, we shouldn't have to touch it. If
that's not the case, we should fix *that* :-)

> 4. MainloopManager, MessageManager (, PollManager ?)
> 
> Mainloop and Message in manager.py. Not sure about PollManager 
> (probably not).

PollManager absolutely not. MainloopManager, MessageManager... I dunno.
their similarity is pretty much limited to the name, I think?
MainloopManager deals with gtk's timeouts. MessageManager is just a
stack that emits signals when used.

-- 
[ Juri Pakaste | address@hidden | http://www.iki.fi/juri/ ]

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]