[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| RE: [pde-dev] [api tooling] Re: ApiTools_Architecture | 
| 
 Esteemed Colleages,
 
 A (seemingly) defunct notion of reuse contracts hangs about the edges of the software maintenance domain.  Perchance these tags fall into the software maintenance category as a they are directed and adaptors and perfectors.
 
 Are there any other ideas from reuse contracts that we can coax into the javadoc tags?  The attached paper gives a flavour.  Not all need come over but some might be useful.
 
 Not really the forum (I know) but food for thought, as there is a lot of IP out there, relating to software maintenance, that appears to fall on deaf ears despite its relevance within the Agil community.
 
 Cheers
 AD
 
 
 
 
 
 > To: Boris_Bokowski@xxxxxxxxxx
 > From: Darin_Wright@xxxxxxxxxx
 > Date: Wed, 31 Oct 2007 21:41:55 -0500
 > CC: pde-dev@xxxxxxxxxxx
 > Subject: [pde-dev] [api tooling] Re: ApiTools_Architecture
 >
 > >
 > > When is a good time to provide feedback?
 >
 > Anytime. The sooner we get feedback, the better. I'm posting your note to
 > pde-dev for the benefit of all interested.
 >
 > >
 > > One thing that caught my eye immediately was the list of new Javadoc
 > tags:
 > >
 > > @nosubclass - This class is not intended to be subclassed.
 > > @noinstantiate - This class is not intended to be instantiated.
 > > @noimplement - This interface is not intended to be implemented by
 > clients.
 > > @noreference - This type is not intended to be referenced by clients.
 > >
 > > It seems that for the first two, you should add "...by clients" as
 > > well.
 >
 > Well, that is a good point. It could be that a class is not intended to be
 > subclassed at all (clients or internally - basically a final class).
 > However, it is more important that clients do not subclass, so we could
 > add "by clients". The similar situation may be true for @noinstantiate -
 > i.e. a utility class with only static methods.
 >
 > > I assume "clients" refers to anyone outside of the current
 > > bundle? How do you express exceptions for friends such as test bundles?
 >
 > So far, exceptions are handled by x-friends in a Manifest.MF, rather than
 > javadoc tags. However, friends were intended to have API access to classes
 > that are internal/private - friends were not intended to override the
 > restrictions above. So, we need to think about how that might work.
 >
 > Currently, there is no concept of SPI (service provider interface) - an
 > API interface for a select few. However, we were thinking of adding
 > special tags in the Manifest to represent this. I could also imagine
 > adding special tags to allow tests suites/clients to have unrestricted
 > access to packages/bundles.
 >
 > >
 > > You are only talking about using these annotations for types. We
 > > have similar constraints for methods and fields. For example, SWT
 > > has public fields that could be marked with @noreference. If
 > > @noreference was available for constructors, wouldn't that be a good
 > > replacement for @noinstantiate? I'm sure that we also have methods
 > > that are @nooverride.
 >
 > Yes - we intend to extend the mechanisms to members. Jeff suggested that
 > we might use @noextend for both types and methods.
 >
 > Thanks,
 >
 > Darin
 >
 > _______________________________________________
 > pde-dev mailing list
 > pde-dev@xxxxxxxxxxx
 > https://dev.eclipse.org/mailman/listinfo/pde-dev
 
 
 
 Listen now! New music from the Rogue Traders.
 | 
Attachment:
reuse contracts.pdf
Description: Adobe PDF document