Mailinglist Archive: yast-devel (156 mails)

< Previous Next >
Re: [yast-devel] Adding missing API to libzypp (or between libzypp and apps)
  • From: Ricardo Cruz <rpmcruz@xxxxxxxxxxxxxxxxxxx>
  • Date: Wed, 27 Jun 2007 12:42:42 +0100
  • Message-id: <1182944562.6701.55.camel@xxxxxxxxxxxx>
Seg, 2007-06-25 ├ás 11:08 +0200, Jan Kupec escreveu:
> Hi there!
> 
> Check out this idea page and see what's needed and who intends to do what:
> 
> http://idea.opensuse.org/content/ideas/better-api-for-applications-using-libzypp
> 
> This idea might be of interest for people writing applications using
> libzypp who were missing some functionalities and libzypp devels. In
> particular: YaST package manager UI (qt, gtk, curses), zypper, YaST
> online update.
> 
Hi,

 I don't have any feature request for libzypp; we can work out things
pretty easily (say, dependencies listing), and I think it already has
enough bloat. :P

 I don't really have much to criticize; its a decent library, at least
API wise. In any case, libzypp API feels a bit overwhelming for someone
just wanting to get some simple stuff done with it, so I would like to
see some effort to make it more intuitive.
 I would suggest putting all the basic headers on the root (like ui/),
and more specific stuff into some folder (like ByteCount.h). Also,
merging classes, or simply putting classes that serve the same function
in the same file. I also wonder if a lot of stuff is really necessary to
have in your public API.
 And avoid the need to grep for stuff; don't do typedefs of your own
typedefs for instance. I would also like to know the sense behind doing
a typedef of the class type to call it "Self" (of course you get used to
it, but all this small things accumulated, make the API not much
intuitive I think).
 On the other hand, I find stuff like "using boost::shared_ptr;" to be
evil. I personally don't like to import namespaces and I don't like
being forced that practice (so, don't propagate that on your public
headers).

 Not a big issue, but I would also rather you didn't use Boost pointers;
it doesn't integrate well with other stuff. In our case, we store a few
pointers in the data model that power the GTK+ list/tree widget.

 I also dislike the long nomenclature used; it forces people to do a
translation layer to short them down, which sucks for the reader.
libzypp is a relatively small library (or should be), so I don't
understand, for instance, why the inner namespaces.

 All in all, I think it just requires polishing, nothing major.

Cheers,
 Ricardo


> If you have any comments or want to participate, edit that page and use
> the discussion facility there and describe what would you like to do.
> 
> Jano

-- 
To unsubscribe, e-mail: yast-devel+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: yast-devel+help@xxxxxxxxxxxx

< Previous Next >
Follow Ups
References