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 |
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 > |
On Sun, Apr 22, 2012 at 11:55 AM, Stéphane Ducasse <[hidden email]> wrote: we use self flag: #fixMe 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.
-- Mariano http://marianopeck.wordpress.com |
In reply to this post by Stéphane Ducasse
Stef, Thanks. 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 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 |
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 > |
In reply to this post by Mariano Martinez Peck
Ok, got it.
CommentsComments 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]>
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 |
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]>
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 |
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 > |
In reply to this post by philippeback
On Sun, Apr 22, 2012 at 3:53 PM, [hidden email] <[hidden email]> wrote: Ok. Indeed. But the first step is to identify them, right? So at least we know those dirty corners ;)
-- Mariano http://marianopeck.wordpress.com |
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]>
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 |
On 22 Apr 2012, at 19:10, [hidden email] wrote:
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.
|
Free forum by Nabble | Edit this page |