On Sun, Apr 22, 2012 at 11:55 AM, Stéphane Ducasse < stephane.ducasse@inria.fr> 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, phil@highoctane.be 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