Suggestion: introducing a fixme/issue/todo pragma

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

Suggestion: introducing a fixme/issue/todo pragma

philippeback
While looking around in the image, I am in need of knowing where I found thngs that either puzzle me or are "wrong" (well, a code smell).

What I do is that I put pragmas in there like this (not that this sample is meant to be representative)

privCleanTextConstants
      <fixme>
TextConstants TextSharedInformation removeKey: #DefaultTextStyle.
TextConstants TextSharedInformation removeKey: #DefaultMultiStyle.
TextConstants TextSharedInformation removeKey: #DefaultFixedTextStyle.
TextConstants TextSharedInformation removeKey: StrikeFont defaultFontKey.

Smalltalk allClasses select: [:c | c sharedPools includes: TextConstants] thenDo: [:c | c compileAll ].

And I can then find back the things with:

pc := (PragmaCollector filter: [:prg | prg keyword = 'fixme']) reset.
pc collected size. "(Print It: 1)"
pc collected explore.

And then finding back the Class and Method Name

Building upon that, why not do what is done in other environments (well, I've got that in PHP, Java, ...) and use:

<todo:do this and that> or plain <todo>
<fixme: this and that> or plain <fixme> 
<issue:issue#>

And have a specific tool to help the navigation (explore is fine for a moment but...)

This would allow us to have an idea on the technical debt inside the system, broken down by areas if we start leveraging Packages.

What I do not know is how much stress this would put on the system. Are pragmas eating a lot or a just markers?

Phil

Reply | Threaded
Open this post in threaded view
|

Re: Suggestion: introducing a fixme/issue/todo pragma

Stéphane Ducasse
we use self flag: #fixMe
you can then query either #fixMe or flag:

and yes this is a good idea to mark things and create bug entries.

Stef


On Apr 22, 2012, at 11:18 AM, [hidden email] wrote:

> While looking around in the image, I am in need of knowing where I found thngs that either puzzle me or are "wrong" (well, a code smell).
>
> What I do is that I put pragmas in there like this (not that this sample is meant to be representative)
>
> privCleanTextConstants
>       <fixme>
> TextConstants TextSharedInformation removeKey: #DefaultTextStyle.
> TextConstants TextSharedInformation removeKey: #DefaultMultiStyle.
> TextConstants TextSharedInformation removeKey: #DefaultFixedTextStyle.
> TextConstants TextSharedInformation removeKey: StrikeFont defaultFontKey.
>
> Smalltalk allClasses select: [:c | c sharedPools includes: TextConstants] thenDo: [:c | c compileAll ].
>
> And I can then find back the things with:
>
> pc := (PragmaCollector filter: [:prg | prg keyword = 'fixme']) reset.
> pc collected size. "(Print It: 1)"
> pc collected explore.
>
> And then finding back the Class and Method Name
>
> Building upon that, why not do what is done in other environments (well, I've got that in PHP, Java, ...) and use:
>
> <todo:do this and that> or plain <todo>
> <fixme: this and that> or plain <fixme>
> <issue:issue#>
>
> And have a specific tool to help the navigation (explore is fine for a moment but...)
>
> This would allow us to have an idea on the technical debt inside the system, broken down by areas if we start leveraging Packages.
>
> What I do not know is how much stress this would put on the system. Are pragmas eating a lot or a just markers?
>
> Phil
>


Reply | Threaded
Open this post in threaded view
|

Re: Suggestion: introducing a fixme/issue/todo pragma

Mariano Martinez Peck


On Sun, Apr 22, 2012 at 11:55 AM, Stéphane Ducasse <[hidden email]> wrote:
we use self flag: #fixMe
you can then query either #fixMe or flag:

and yes this is a good idea to mark things and create bug entries.

Stef


On Apr 22, 2012, at 11:18 AM, [hidden email] wrote:

> While looking around in the image, I am in need of knowing where I found thngs that either puzzle me or are "wrong" (well, a code smell).
>
> What I do is that I put pragmas in there like this (not that this sample is meant to be representative)
>
> privCleanTextConstants
>       <fixme>
>       TextConstants TextSharedInformation removeKey: #DefaultTextStyle.
>       TextConstants TextSharedInformation removeKey: #DefaultMultiStyle.
>       TextConstants TextSharedInformation removeKey: #DefaultFixedTextStyle.
>       TextConstants TextSharedInformation removeKey: StrikeFont defaultFontKey.
>
>       Smalltalk allClasses select: [:c | c sharedPools includes: TextConstants] thenDo: [:c | c compileAll ].
>
> And I can then find back the things with:
>
> pc := (PragmaCollector filter: [:prg | prg keyword = 'fixme']) reset.
> pc collected size. "(Print It: 1)"
> pc collected explore.
>
> And then finding back the Class and Method Name
>
> Building upon that, why not do what is done in other environments (well, I've got that in PHP, Java, ...) and use:
>
> <todo:do this and that> or plain <todo>
> <fixme: this and that> or plain <fixme>
> <issue:issue#>
>

As Stef said, we usually use #flag:   Normal cases are #flag:todo, #flag:fixMe,  etc ..  and the browser is aware of that and shows you a flag in the icon of the method.


 
> And have a specific tool to help the navigation (explore is fine for a moment but...)
>
> This would allow us to have an idea on the technical debt inside the system, broken down by areas if we start leveraging Packages.
>
> What I do not know is how much stress this would put on the system. Are pragmas eating a lot or a just markers?
>
> Phil
>





--
Mariano
http://marianopeck.wordpress.com

Reply | Threaded
Open this post in threaded view
|

Re: Suggestion: introducing a fixme/issue/todo pragma

philippeback
In reply to this post by Stéphane Ducasse
Stef,

Thanks.

How are flags working? 

Looks like this is at the class level. I am interested in a method level ting.

KR
Phil

2012/4/22 Stéphane Ducasse <[hidden email]>
we use self flag: #fixMe
you can then query either #fixMe or flag:

and yes this is a good idea to mark things and create bug entries.

Stef


On Apr 22, 2012, at 11:18 AM, [hidden email] wrote:

> While looking around in the image, I am in need of knowing where I found thngs that either puzzle me or are "wrong" (well, a code smell).
>
> What I do is that I put pragmas in there like this (not that this sample is meant to be representative)
>
> privCleanTextConstants
>       <fixme>
>       TextConstants TextSharedInformation removeKey: #DefaultTextStyle.
>       TextConstants TextSharedInformation removeKey: #DefaultMultiStyle.
>       TextConstants TextSharedInformation removeKey: #DefaultFixedTextStyle.
>       TextConstants TextSharedInformation removeKey: StrikeFont defaultFontKey.
>
>       Smalltalk allClasses select: [:c | c sharedPools includes: TextConstants] thenDo: [:c | c compileAll ].
>
> And I can then find back the things with:
>
> pc := (PragmaCollector filter: [:prg | prg keyword = 'fixme']) reset.
> pc collected size. "(Print It: 1)"
> pc collected explore.
>
> And then finding back the Class and Method Name
>
> Building upon that, why not do what is done in other environments (well, I've got that in PHP, Java, ...) and use:
>
> <todo:do this and that> or plain <todo>
> <fixme: this and that> or plain <fixme>
> <issue:issue#>
>
> And have a specific tool to help the navigation (explore is fine for a moment but...)
>
> This would allow us to have an idea on the technical debt inside the system, broken down by areas if we start leveraging Packages.
>
> What I do not know is how much stress this would put on the system. Are pragmas eating a lot or a just markers?
>
> Phil
>





--
Philippe Back
"Helping you hit the top 3 outcomes you really want to achieve"

Mob: +32(0) 478 650 140 | Fax: +32 (0) 70 408 027 Mail: [hidden email] | Web: http://philippeback.eu | Blog:

High Octane SPRL
rue cour Boisacq 101
1301 Bierges

Reply | Threaded
Open this post in threaded view
|

Re: Suggestion: introducing a fixme/issue/todo pragma

Stéphane Ducasse

On Apr 22, 2012, at 2:24 PM, [hidden email] wrote:

> Stef,
>
> Thanks.
>
> How are flags working?

just like a simple method.
after you can do "senders" to identify them.
>
> Looks like this is at the class level. I am interested in a method level ting.

no this is like any send in the system so this is a method level identification.
Try senders of flag:

>
> KR
> Phil
>
> 2012/4/22 Stéphane Ducasse <[hidden email]>
> we use self flag: #fixMe
> you can then query either #fixMe or flag:
>
> and yes this is a good idea to mark things and create bug entries.
>
> Stef
>
>
> On Apr 22, 2012, at 11:18 AM, [hidden email] wrote:
>
> > While looking around in the image, I am in need of knowing where I found thngs that either puzzle me or are "wrong" (well, a code smell).
> >
> > What I do is that I put pragmas in there like this (not that this sample is meant to be representative)
> >
> > privCleanTextConstants
> >       <fixme>
> >       TextConstants TextSharedInformation removeKey: #DefaultTextStyle.
> >       TextConstants TextSharedInformation removeKey: #DefaultMultiStyle.
> >       TextConstants TextSharedInformation removeKey: #DefaultFixedTextStyle.
> >       TextConstants TextSharedInformation removeKey: StrikeFont defaultFontKey.
> >
> >       Smalltalk allClasses select: [:c | c sharedPools includes: TextConstants] thenDo: [:c | c compileAll ].
> >
> > And I can then find back the things with:
> >
> > pc := (PragmaCollector filter: [:prg | prg keyword = 'fixme']) reset.
> > pc collected size. "(Print It: 1)"
> > pc collected explore.
> >
> > And then finding back the Class and Method Name
> >
> > Building upon that, why not do what is done in other environments (well, I've got that in PHP, Java, ...) and use:
> >
> > <todo:do this and that> or plain <todo>
> > <fixme: this and that> or plain <fixme>
> > <issue:issue#>
> >
> > And have a specific tool to help the navigation (explore is fine for a moment but...)
> >
> > This would allow us to have an idea on the technical debt inside the system, broken down by areas if we start leveraging Packages.
> >
> > What I do not know is how much stress this would put on the system. Are pragmas eating a lot or a just markers?
> >
> > Phil
> >
>
>
>
>
>
> --
> Philippe Back
> "Helping you hit the top 3 outcomes you really want to achieve"
>
> Mob: +32(0) 478 650 140 | Fax: +32 (0) 70 408 027 Mail: [hidden email] | Web: http://philippeback.eu | Blog:
> http://philippeback.be
>
> High Octane SPRL
> rue cour Boisacq 101
> 1301 Bierges
>


Reply | Threaded
Open this post in threaded view
|

Re: Suggestion: introducing a fixme/issue/todo pragma

philippeback
In reply to this post by Mariano Martinez Peck
Ok, got it.

Comments

Comments are surrounded by double quotes and can span multiple lines.

To add "todo" comments that can be easily found later, enter "self flag: #todo." followed by a regular comment which can be on the same line. To find all occurrences of that, select "todo" and press alt-n which displays all the senders of #todo in a new window. In OmniBrowser, methods containing those have a wrench icon in front of them in the method plane.




2012/4/22 Mariano Martinez Peck <[hidden email]>


On Sun, Apr 22, 2012 at 11:55 AM, Stéphane Ducasse <[hidden email]> wrote:
we use self flag: #fixMe
you can then query either #fixMe or flag:

and yes this is a good idea to mark things and create bug entries.

Stef


On Apr 22, 2012, at 11:18 AM, [hidden email] wrote:

> While looking around in the image, I am in need of knowing where I found thngs that either puzzle me or are "wrong" (well, a code smell).
>
> What I do is that I put pragmas in there like this (not that this sample is meant to be representative)
>
> privCleanTextConstants
>       <fixme>
>       TextConstants TextSharedInformation removeKey: #DefaultTextStyle.
>       TextConstants TextSharedInformation removeKey: #DefaultMultiStyle.
>       TextConstants TextSharedInformation removeKey: #DefaultFixedTextStyle.
>       TextConstants TextSharedInformation removeKey: StrikeFont defaultFontKey.
>
>       Smalltalk allClasses select: [:c | c sharedPools includes: TextConstants] thenDo: [:c | c compileAll ].
>
> And I can then find back the things with:
>
> pc := (PragmaCollector filter: [:prg | prg keyword = 'fixme']) reset.
> pc collected size. "(Print It: 1)"
> pc collected explore.
>
> And then finding back the Class and Method Name
>
> Building upon that, why not do what is done in other environments (well, I've got that in PHP, Java, ...) and use:
>
> <todo:do this and that> or plain <todo>
> <fixme: this and that> or plain <fixme>
> <issue:issue#>
>

As Stef said, we usually use #flag:   Normal cases are #flag:todo, #flag:fixMe,  etc ..  and the browser is aware of that and shows you a flag in the icon of the method.


 
> And have a specific tool to help the navigation (explore is fine for a moment but...)
>
> This would allow us to have an idea on the technical debt inside the system, broken down by areas if we start leveraging Packages.
>
> What I do not know is how much stress this would put on the system. Are pragmas eating a lot or a just markers?
>
> Phil
>





--
Mariano
http://marianopeck.wordpress.com




--
Philippe Back
"Helping you hit the top 3 outcomes you really want to achieve"

Mob: +32(0) 478 650 140 | Fax: +32 (0) 70 408 027 Mail: [hidden email] | Web: http://philippeback.eu | Blog:

High Octane SPRL
rue cour Boisacq 101
1301 Bierges

Reply | Threaded
Open this post in threaded view
|

Re: Suggestion: introducing a fixme/issue/todo pragma

philippeback
In reply to this post by Mariano Martinez Peck
Ok.

Looks like there is still a lot of dirty corners under the hood by looking at this list of senders...

Phil

2012/4/22 Mariano Martinez Peck <[hidden email]>


On Sun, Apr 22, 2012 at 11:55 AM, Stéphane Ducasse <[hidden email]> wrote:
we use self flag: #fixMe
you can then query either #fixMe or flag:

and yes this is a good idea to mark things and create bug entries.

Stef


On Apr 22, 2012, at 11:18 AM, [hidden email] wrote:

> While looking around in the image, I am in need of knowing where I found thngs that either puzzle me or are "wrong" (well, a code smell).
>
> What I do is that I put pragmas in there like this (not that this sample is meant to be representative)
>
> privCleanTextConstants
>       <fixme>
>       TextConstants TextSharedInformation removeKey: #DefaultTextStyle.
>       TextConstants TextSharedInformation removeKey: #DefaultMultiStyle.
>       TextConstants TextSharedInformation removeKey: #DefaultFixedTextStyle.
>       TextConstants TextSharedInformation removeKey: StrikeFont defaultFontKey.
>
>       Smalltalk allClasses select: [:c | c sharedPools includes: TextConstants] thenDo: [:c | c compileAll ].
>
> And I can then find back the things with:
>
> pc := (PragmaCollector filter: [:prg | prg keyword = 'fixme']) reset.
> pc collected size. "(Print It: 1)"
> pc collected explore.
>
> And then finding back the Class and Method Name
>
> Building upon that, why not do what is done in other environments (well, I've got that in PHP, Java, ...) and use:
>
> <todo:do this and that> or plain <todo>
> <fixme: this and that> or plain <fixme>
> <issue:issue#>
>

As Stef said, we usually use #flag:   Normal cases are #flag:todo, #flag:fixMe,  etc ..  and the browser is aware of that and shows you a flag in the icon of the method.


 
> And have a specific tool to help the navigation (explore is fine for a moment but...)
>
> This would allow us to have an idea on the technical debt inside the system, broken down by areas if we start leveraging Packages.
>
> What I do not know is how much stress this would put on the system. Are pragmas eating a lot or a just markers?
>
> Phil
>





--
Mariano
http://marianopeck.wordpress.com




--
Philippe Back
"Helping you hit the top 3 outcomes you really want to achieve"

Mob: <a href="tel:%2B32%280%29%20478%20650%20140" value="+32478650140" target="_blank">+32(0) 478 650 140 | Fax: <a href="tel:%2B32%20%280%29%2070%20408%20027" value="+3270408027" target="_blank">+32 (0) 70 408 027 Mail: [hidden email] | Web: http://philippeback.eu | Blog:

High Octane SPRL
rue cour Boisacq 101
1301 Bierges

Reply | Threaded
Open this post in threaded view
|

Re: Suggestion: introducing a fixme/issue/todo pragma

Stéphane Ducasse

On Apr 22, 2012, at 3:53 PM, [hidden email] wrote:

> Ok.
>
> Looks like there is still a lot of dirty corners under the hood by looking at this list of senders…

:)
and many more. Now every day we (most of the time) make progress.

Stef

>
> Phil
>
> 2012/4/22 Mariano Martinez Peck <[hidden email]>
>
>
> On Sun, Apr 22, 2012 at 11:55 AM, Stéphane Ducasse <[hidden email]> wrote:
> we use self flag: #fixMe
> you can then query either #fixMe or flag:
>
> and yes this is a good idea to mark things and create bug entries.
>
> Stef
>
>
> On Apr 22, 2012, at 11:18 AM, [hidden email] wrote:
>
> > While looking around in the image, I am in need of knowing where I found thngs that either puzzle me or are "wrong" (well, a code smell).
> >
> > What I do is that I put pragmas in there like this (not that this sample is meant to be representative)
> >
> > privCleanTextConstants
> >       <fixme>
> >       TextConstants TextSharedInformation removeKey: #DefaultTextStyle.
> >       TextConstants TextSharedInformation removeKey: #DefaultMultiStyle.
> >       TextConstants TextSharedInformation removeKey: #DefaultFixedTextStyle.
> >       TextConstants TextSharedInformation removeKey: StrikeFont defaultFontKey.
> >
> >       Smalltalk allClasses select: [:c | c sharedPools includes: TextConstants] thenDo: [:c | c compileAll ].
> >
> > And I can then find back the things with:
> >
> > pc := (PragmaCollector filter: [:prg | prg keyword = 'fixme']) reset.
> > pc collected size. "(Print It: 1)"
> > pc collected explore.
> >
> > And then finding back the Class and Method Name
> >
> > Building upon that, why not do what is done in other environments (well, I've got that in PHP, Java, ...) and use:
> >
> > <todo:do this and that> or plain <todo>
> > <fixme: this and that> or plain <fixme>
> > <issue:issue#>
> >
>
> As Stef said, we usually use #flag:   Normal cases are #flag:todo, #flag:fixMe,  etc ..  and the browser is aware of that and shows you a flag in the icon of the method.
>
>
>  
> > And have a specific tool to help the navigation (explore is fine for a moment but...)
> >
> > This would allow us to have an idea on the technical debt inside the system, broken down by areas if we start leveraging Packages.
> >
> > What I do not know is how much stress this would put on the system. Are pragmas eating a lot or a just markers?
> >
> > Phil
> >
>
>
>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
>
>
>
> --
> Philippe Back
> "Helping you hit the top 3 outcomes you really want to achieve"
>
> Mob: +32(0) 478 650 140 | Fax: +32 (0) 70 408 027 Mail: [hidden email] | Web: http://philippeback.eu | Blog:
> http://philippeback.be
>
> High Octane SPRL
> rue cour Boisacq 101
> 1301 Bierges
>


Reply | Threaded
Open this post in threaded view
|

Re: Suggestion: introducing a fixme/issue/todo pragma

Mariano Martinez Peck
In reply to this post by philippeback


On Sun, Apr 22, 2012 at 3:53 PM, [hidden email] <[hidden email]> wrote:
Ok.

Looks like there is still a lot of dirty corners under the hood by looking at this list of senders...

Indeed. But the first step is to identify them, right?  So at least we know those dirty corners ;)

 

Phil

2012/4/22 Mariano Martinez Peck <[hidden email]>


On Sun, Apr 22, 2012 at 11:55 AM, Stéphane Ducasse <[hidden email]> wrote:
we use self flag: #fixMe
you can then query either #fixMe or flag:

and yes this is a good idea to mark things and create bug entries.

Stef


On Apr 22, 2012, at 11:18 AM, [hidden email] wrote:

> While looking around in the image, I am in need of knowing where I found thngs that either puzzle me or are "wrong" (well, a code smell).
>
> What I do is that I put pragmas in there like this (not that this sample is meant to be representative)
>
> privCleanTextConstants
>       <fixme>
>       TextConstants TextSharedInformation removeKey: #DefaultTextStyle.
>       TextConstants TextSharedInformation removeKey: #DefaultMultiStyle.
>       TextConstants TextSharedInformation removeKey: #DefaultFixedTextStyle.
>       TextConstants TextSharedInformation removeKey: StrikeFont defaultFontKey.
>
>       Smalltalk allClasses select: [:c | c sharedPools includes: TextConstants] thenDo: [:c | c compileAll ].
>
> And I can then find back the things with:
>
> pc := (PragmaCollector filter: [:prg | prg keyword = 'fixme']) reset.
> pc collected size. "(Print It: 1)"
> pc collected explore.
>
> And then finding back the Class and Method Name
>
> Building upon that, why not do what is done in other environments (well, I've got that in PHP, Java, ...) and use:
>
> <todo:do this and that> or plain <todo>
> <fixme: this and that> or plain <fixme>
> <issue:issue#>
>

As Stef said, we usually use #flag:   Normal cases are #flag:todo, #flag:fixMe,  etc ..  and the browser is aware of that and shows you a flag in the icon of the method.


 
> And have a specific tool to help the navigation (explore is fine for a moment but...)
>
> This would allow us to have an idea on the technical debt inside the system, broken down by areas if we start leveraging Packages.
>
> What I do not know is how much stress this would put on the system. Are pragmas eating a lot or a just markers?
>
> Phil
>





--
Mariano
http://marianopeck.wordpress.com




--
Philippe Back
"Helping you hit the top 3 outcomes you really want to achieve"

Mob: <a href="tel:%2B32%280%29%20478%20650%20140" value="+32478650140" target="_blank">+32(0) 478 650 140 | Fax: <a href="tel:%2B32%20%280%29%2070%20408%20027" value="+3270408027" target="_blank">+32 (0) 70 408 027 Mail: [hidden email] | Web: http://philippeback.eu | Blog:

High Octane SPRL
rue cour Boisacq 101
1301 Bierges




--
Mariano
http://marianopeck.wordpress.com

Reply | Threaded
Open this post in threaded view
|

Re: Suggestion: introducing a fixme/issue/todo pragma

philippeback
I kind of like dirty corners. Especially for cleaning them up and turn them into shiny new orbs of glory.

Jokes aside, there is an awful lot of potential in Pharo. Just being exposed to it for a while shows in my other coding activities (other languages).

I would be perfect if we could grasp the whole system given enough attention (like the "Feel of Cuis" which is real). The challenge is to hit the sweet spot. Too much convolutions and we are doomed. Too little features and we can't be considered a contender.

KR
Philippe

2012/4/22 Mariano Martinez Peck <[hidden email]>


On Sun, Apr 22, 2012 at 3:53 PM, [hidden email] <[hidden email]> wrote:
Ok.

Looks like there is still a lot of dirty corners under the hood by looking at this list of senders...

Indeed. But the first step is to identify them, right?  So at least we know those dirty corners ;)

 

Phil

2012/4/22 Mariano Martinez Peck <[hidden email]>


On Sun, Apr 22, 2012 at 11:55 AM, Stéphane Ducasse <[hidden email]> wrote:
we use self flag: #fixMe
you can then query either #fixMe or flag:

and yes this is a good idea to mark things and create bug entries.

Stef


On Apr 22, 2012, at 11:18 AM, [hidden email] wrote:

> While looking around in the image, I am in need of knowing where I found thngs that either puzzle me or are "wrong" (well, a code smell).
>
> What I do is that I put pragmas in there like this (not that this sample is meant to be representative)
>
> privCleanTextConstants
>       <fixme>
>       TextConstants TextSharedInformation removeKey: #DefaultTextStyle.
>       TextConstants TextSharedInformation removeKey: #DefaultMultiStyle.
>       TextConstants TextSharedInformation removeKey: #DefaultFixedTextStyle.
>       TextConstants TextSharedInformation removeKey: StrikeFont defaultFontKey.
>
>       Smalltalk allClasses select: [:c | c sharedPools includes: TextConstants] thenDo: [:c | c compileAll ].
>
> And I can then find back the things with:
>
> pc := (PragmaCollector filter: [:prg | prg keyword = 'fixme']) reset.
> pc collected size. "(Print It: 1)"
> pc collected explore.
>
> And then finding back the Class and Method Name
>
> Building upon that, why not do what is done in other environments (well, I've got that in PHP, Java, ...) and use:
>
> <todo:do this and that> or plain <todo>
> <fixme: this and that> or plain <fixme>
> <issue:issue#>
>

As Stef said, we usually use #flag:   Normal cases are #flag:todo, #flag:fixMe,  etc ..  and the browser is aware of that and shows you a flag in the icon of the method.


 
> And have a specific tool to help the navigation (explore is fine for a moment but...)
>
> This would allow us to have an idea on the technical debt inside the system, broken down by areas if we start leveraging Packages.
>
> What I do not know is how much stress this would put on the system. Are pragmas eating a lot or a just markers?
>
> Phil
>





--
Mariano
http://marianopeck.wordpress.com




--
Philippe Back
"Helping you hit the top 3 outcomes you really want to achieve"

Mob: <a href="tel:%2B32%280%29%20478%20650%20140" value="+32478650140" target="_blank">+32(0) 478 650 140 | Fax: <a href="tel:%2B32%20%280%29%2070%20408%20027" value="+3270408027" target="_blank">+32 (0) 70 408 027 Mail: [hidden email] | Web: http://philippeback.eu | Blog:

High Octane SPRL
rue cour Boisacq 101
1301 Bierges




--
Mariano
http://marianopeck.wordpress.com




--
Philippe Back
"Helping you hit the top 3 outcomes you really want to achieve"

Mob: +32(0) 478 650 140 | Fax: +32 (0) 70 408 027 Mail: [hidden email] | Web: http://philippeback.eu | Blog:

High Octane SPRL
rue cour Boisacq 101
1301 Bierges

Reply | Threaded
Open this post in threaded view
|

Re: Suggestion: introducing a fixme/issue/todo pragma

Mark Smith

On 22 Apr 2012, at 19:10, [hidden email] wrote:

I kind of like dirty corners. Especially for cleaning them up and turn them into shiny new orbs of glory.

Jokes aside, there is an awful lot of potential in Pharo. Just being exposed to it for a while shows in my other coding activities (other languages).

I would be perfect if we could grasp the whole system given enough attention (like the "Feel of Cuis" which is real). The challenge is to hit the sweet spot. Too much convolutions and we are doomed. Too little features and we can't be considered a contender.

Agreed, but I'm fine with loading the features I want. The more features there are at the core of the system the more we need to fit into our heads. I would like to see a small and `tidy' core (not dissimilar to that defined for Spoon :)).

Mark.

KR
Philippe

2012/4/22 Mariano Martinez Peck <[hidden email]>


On Sun, Apr 22, 2012 at 3:53 PM, [hidden email] <[hidden email]> wrote:
Ok.

Looks like there is still a lot of dirty corners under the hood by looking at this list of senders...

Indeed. But the first step is to identify them, right?  So at least we know those dirty corners ;)

 

Phil

2012/4/22 Mariano Martinez Peck <[hidden email]>


On Sun, Apr 22, 2012 at 11:55 AM, Stéphane Ducasse <[hidden email]> wrote:
we use self flag: #fixMe
you can then query either #fixMe or flag:

and yes this is a good idea to mark things and create bug entries.

Stef


On Apr 22, 2012, at 11:18 AM, [hidden email] wrote:

> While looking around in the image, I am in need of knowing where I found thngs that either puzzle me or are "wrong" (well, a code smell).
>
> What I do is that I put pragmas in there like this (not that this sample is meant to be representative)
>
> privCleanTextConstants
>       <fixme>
>       TextConstants TextSharedInformation removeKey: #DefaultTextStyle.
>       TextConstants TextSharedInformation removeKey: #DefaultMultiStyle.
>       TextConstants TextSharedInformation removeKey: #DefaultFixedTextStyle.
>       TextConstants TextSharedInformation removeKey: StrikeFont defaultFontKey.
>
>       Smalltalk allClasses select: [:c | c sharedPools includes: TextConstants] thenDo: [:c | c compileAll ].
>
> And I can then find back the things with:
>
> pc := (PragmaCollector filter: [:prg | prg keyword = 'fixme']) reset.
> pc collected size. "(Print It: 1)"
> pc collected explore.
>
> And then finding back the Class and Method Name
>
> Building upon that, why not do what is done in other environments (well, I've got that in PHP, Java, ...) and use:
>
> <todo:do this and that> or plain <todo>
> <fixme: this and that> or plain <fixme>
> <issue:issue#>
>

As Stef said, we usually use #flag:   Normal cases are #flag:todo, #flag:fixMe,  etc ..  and the browser is aware of that and shows you a flag in the icon of the method.


 
> And have a specific tool to help the navigation (explore is fine for a moment but...)
>
> This would allow us to have an idea on the technical debt inside the system, broken down by areas if we start leveraging Packages.
>
> What I do not know is how much stress this would put on the system. Are pragmas eating a lot or a just markers?
>
> Phil
>





--
Mariano
http://marianopeck.wordpress.com




--
Philippe Back
"Helping you hit the top 3 outcomes you really want to achieve"

Mob: <a href="tel:%2B32%280%29%20478%20650%20140" value="+32478650140" target="_blank">+32(0) 478 650 140 | Fax: <a href="tel:%2B32%20%280%29%2070%20408%20027" value="+3270408027" target="_blank">+32 (0) 70 408 027 Mail: [hidden email] | Web: http://philippeback.eu | Blog:

High Octane SPRL
rue cour Boisacq 101
1301 Bierges




--
Mariano
http://marianopeck.wordpress.com




--
Philippe Back
"Helping you hit the top 3 outcomes you really want to achieve"

Mob: +32(0) 478 650 140 | Fax: +32 (0) 70 408 027 Mail: [hidden email] | Web: http://philippeback.eu | Blog:

High Octane SPRL
rue cour Boisacq 101
1301 Bierges