Re: gvfs status report

On Thu, 2007-02-15 at 11:19 -0500, Dimi Paun wrote:
> On Thu, February 15, 2007 10:54, Alexander Larsson wrote:
> > One thing that I'm especially unsatisfied
> > with is the naming. There is just way too many "vfs", "daemon" and
> > "dbus" all over the place.
> Speaking of which:
> > GInputStream
> >   GInputStreamSocket
> >   GFileInputStream
> > GOutputStream
> >   GFileOutputStream
> >   GOutputStreamSocket
> You probably thought about it already, but why not GSocket{Input|Output)Stream?
> In general I think naming works good if the interface is named with the
> abstract concept, and the implementation is named:
>    <Imp><Concept>
> For example:
>   interface:       GInputStream:
>   implementations : GFileInputStream, GSocketInputStream, GByteArrayInputStream, etc.

GFileInputStream is actually an abstract subclass that adds interfaces,
not an implementation. But your point stands.

> Consistency help.
> That being said, I think a more "practical" naming would be:
>   <Concept><Imp>
> e.g.
>    GInputStreamFile, GInputStreamSocket, etc.
> that would allow easier completion in IDEs such as Eclipse.
> But at the end of the day I would go with Java/.NET naming,
> I don't think it's worth going against the grain of what people expect.

Yes. I've thought about this a bit. Or at least noticed it. I'm not sure
what approach is best here.

We already have classes like:
GtkCellRenderer(Text,Toggle,Pixbuf), GtkFileSystem(Unix,Win32)
But we also have things like:
Gtk(H,V)Scrollbar, Gtk(Check,Image,Radio)MenuItem

So, we're not exactly consistent on this atm. I don't know what the best
solution is, but we should decide on something and then stick to it for
all new Gtk+ APIs.

 Alexander Larsson                                            Red Hat, Inc 
                   alexl redhat com    alla lysator liu se 
He's a world-famous neurotic cat burglar with a winning smile and a way with 
the ladies. She's a vivacious Bolivian lawyer with the soul of a mighty 
warrior. They fight crime! 

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