Hi! I have doubt that #example: will be enough in the case of Roassal. Having a code example browser is indeed important and having a descent way to search for the examples is also important. I am thinking to stick to #example and infer some categories from the source code (e.g., if the method contains a Zinc class, then it may be categorized in network).
Cheers, Alexandre > Le 22-10-2014 à 7:38, Torsten Bergmann <asta...@gmx.de> a écrit : > > Hi Tudor, > > that should be easy now: look at CompiledMethod>>#isExampleMethod which can > be adopted as needed. > > Checking for the <example> pragma could be done this way: > > self pragmas anySatisfy: [:pragma | pragma keyword = #example ] > > but we should think first if this is enough. > > I already proposed to not only annotate with a pragma <example> but > additionally give a category. > Like this: > > <example: 'Graphics'> > <example: 'Network'> > > This way we can easily build an example browser for our users where people > can go through > their point of interest and browse the examples. > > Maybe we should also rethink pragmas (in Pharo 5.0?) in general to be more > Smalltalk > like: > > <Example category: 'Graphics'> > > where Example is a real class in the system (!). One can even make it more > explicit > then > > <ExampleCategory graphics> > > with ExampleCategory(class)>>graphics returning a translateable string. > People can add > own categories and one easily knows about already available ones. > > > Now that classes can have properties in Pharo 4.0 already I would like to see > a unification > for methods and classes here (with the general concept of an "Annotation" in > our metamodel). > > In my opinion a method pragma is just a special form of annotating a method. > > And annotating classes is usefull as well (for instance you want to annotate > a class with > the appropriate Table name in an ORM framework, ...) > > A comment (in a method or in a class) is also nothing more than a special > annotation. > A class/method category is also an annotation. If unified a method or a class > could > be in one or more categories. Even a break point for an expression is IMHO > just an > annotation. > > Bye > T. > > > Gesendet: Mittwoch, 22. Oktober 2014 um 10:43 Uhr > Von: "Tudor Girba" <tu...@tudorgirba.com> > An: "Pharo Development List" <pharo-...@lists.pharo.org> > Cc: "Any question about pharo is welcome" <pharo-users@lists.pharo.org> > Betreff: Re: [Pharo-dev] Clickable class side example and initialize methods > in Pharo 4.0 > > Hi Torsten, > > Thanks for this. This is indeed the way to go. > > Just to let you know, the example infrastructure is also being developed in > the context of GT, so we have a healthy interest overlap which is great. Only > in our case, the discovery of the example happens through an <example> > pragma. Would it be possible to change your slice to use this pragma instead > of the example* convention? > > Cheers, > Doru > > > > On Wed, Oct 22, 2014 at 9:19 AM, Torsten Bergmann <asta...@gmx.de> wrote:One > addition I implemented for Nautilus is that one can run examples directly > in the browser just by clicking on class side example methods icons. > > See > https://pharo.fogbugz.com/f/cases/13892/Example-methods-should-be-runnable-in-Nautilus[https://pharo.fogbugz.com/f/cases/13892/Example-methods-should-be-runnable-in-Nautilus] > for a picture. > > > SO PLEASE: WHEN YOU PROVIDE EXAMPLES IN CLASSES PLEASE PUT THEM ON THE CLASS > SIDE > AND LET THE SELECTOR START WITH "example". > > This way people will easily see that it is an example and can run them. > Additionally it > would help to put them into a category like "examples". So be a good citized > and > provide not only class comments but also examples for others to study. > > > Side note: > ========== > It is also possible to click on the icon of class side initialize methods so > the > class get reinitialized (after a confirmation to avoid false clicking). > > https://pharo.fogbugz.com/f/cases/13894/Class-side-initialize-methods-should-be-runnable-in-Nautilus[https://pharo.fogbugz.com/f/cases/13894/Class-side-initialize-methods-should-be-runnable-in-Nautilus] > > Both issues are already integrated. > > -- > www.tudorgirba.com[http://www.tudorgirba.com] > > "Every thing has its own flow" >