>
> I do not get it. You want an identifier. Why is a brittle and
> obfuscated number better than the name of the class, which is already
> a proper identifier? If you do not want to rely directly on a class
> reference, you can store it as a symbol.
sure this is not the problem numbers solve. We want to have no impact because
of class name change.
> If you keep the numbering,
> you will immediately get into numbering issues as soon as people will
> start writing their own rules.
Normally not because number should be unique and should never change. But I see
your point
After we have a version number when we change a rule
for example rule 1 version 1 is different from rule 1 version 2
How you scenario behave in presence of class renaming?
Our is stable but indeed people can add number that clashes with existing ones.
Now we should have a rule stating that rule should have unique id.
>>> - In the rule methods, you are storing strings. This means that when
>>> someone renames a rule, the code in there will not be updated. Why not
>>> store this information as normal code and use symbols that can be queried?
>>
>> I do not get it? It is normal code no?
>> You mean symbols instead of strings.
>
> I mean you are currently storing the following in a rule exception:
> rule24V1FalsePositive
> ^ #(#('(RGMethodDefinition className: ''RGClassDefinitionTest''
> selector: #testReadFrom isMetaSide: false)'
> #'2012-04-02T11:31:59.933+02:00') )
>
> This an array of strings, not code. I was wondering why it would not
> be possible to be code directly.
because we do not want to store information that force us to have ring loaded.
Cheers,
> Doru
>
>
>> We will the issues.
>>
>>
>>>
>>> Cheers,
>>> Doru
>>>
>>>
>>>
>>> On 6 Apr 2012, at 09:51, Simon Allier wrote:
>>>
>>>> Hi pharoers
>>>>
>>>> Since a couple of months the Pharo team has been working on improving the
>>>> support for rules checking and in particular the handling of false
>>>> positives (there is nothing more boring that to get all the time the same
>>>> warnings that we know are not adequate).
>>>> We added a manifest mechanism to manage the false/true positive of
>>>> SmallLint, the rule checker of Pharo. A manifest is a class that contains
>>>> meta data. In the future we may add package license and package
>>>> documentation. This data is stored in methods on the meta side of the
>>>> class. So, manifest can be versioned in Monticello and not lost. There is
>>>> one manifest per package.
>>>>
>>>> It possible to use SmallLint with Manifest using the Critics Browser
>>>> (menuWorld > Tool > CriticBrowser). With the Critics browser you can
>>>> inspect violations of rules and mark them as false positive or true
>>>> positive (ToDo) and see previous warnings flagged as false positives or
>>>> toDo.
>>>> In addition all the logic of the browser has been developed so that the
>>>> manifest can be saved within the package without adding dependencies.
>>>> We will continue to improve the Browser. In addition we will run SmallLint
>>>> rules to all the Pharo packages and the rules checking will be part of the
>>>> package validation. We want the community to use rule checking for real so
>>>> that we all improve.
>>>>
>>>> Simon and Stef
>>>>
>>>> Gofer
>>>> new
>>>> url: 'http://www.squeaksource.com/PharoTaskForces';
>>>> package: 'ConfigurationOfManifest';
>>>> load.
>>>> ((Smalltalk at: #ConfigurationOfManifest) project version: #stable) load
>>>
>>> --
>>> www.tudorgirba.com
>>>
>>> "Not knowing how to do something is not an argument for how it cannot be
>>> done."
>>>
>>>
>>
>>
>
>
>
> --
> www.tudorgirba.com
>
> "Every thing has its own flow"
>