[Pharo-project] [COTDC] 78 - RBSubclassResponsibilityNotDefinedRule
You want a cool, better and fun system ? You want to be proud ? You want glory ? Nice ladies and caring men ? You want to stop drinking sugar water for the rest of your life and come with us and change the world ? Yes, we can !!! Just participate to the COMMENT OF THE DAY CONTEST and win the respect of all Pharoers around the world ! Free participation, big reward ! Today: RBSubclassResponsibilityNotDefinedRule Comment Of The Day Contest - One Day One Comment Rules: #1: Each day a not commented class is elected. Each day the best comment will be integrated with name of the author(s). #2: If you cannot comment it, deprecate it. Results: http://code.google.com/p/pharo/wiki/CommentOfTheDayContest Laurent
On Sep 1, 2011, at 8:52 PM, laurent laffont wrote:
You want a cool, better and fun system ? You want to be proud ? You want glory ? Nice ladies and caring men ? You want to stop drinking sugar water for the rest of your life and come with us and change the world ?
Yes, we can !!!
Just participate to the COMMENT OF THE DAY CONTEST and win the respect of all Pharoers around the world ! Free participation, big reward !
Today: RBSubclassResponsibilityNotDefinedRule
This rules identifies when several methods in a set of subclasses are defined but not in the superclass. It identifies that an abstract method is missing in the superclass.
Comment Of The Day Contest - One Day One Comment Rules: #1: Each day a not commented class is elected. Each day the best comment will be integrated with name of the author(s). #2: If you cannot comment it, deprecate it. Results: http://code.google.com/p/pharo/wiki/CommentOfTheDayContest
Laurent
Today: Â RBSubclassResponsibilityNotDefinedRule
This rules identifies when several methods in a set of subclasses are defined but not in the superclass. It identifies that an abstract method is missing in the superclass.
Checks that all subclassResponsibility methods are defined in all leaf classes. Note that each of the 120 subclasses of RBLintRule has a method called #rationale that describes its intent. There are even tests that verify this. Of course the string is not a class comment, but something to be displayed in the code critics browser. Still I note a certain degree of overlap ... Lukas -- Lukas Renggli www.lukas-renggli.ch
On Thu, Sep 1, 2011 at 10:08 PM, Lukas Renggli <renggli@gmail.com> wrote:
Today: RBSubclassResponsibilityNotDefinedRule
This rules identifies when several methods in a set of subclasses are defined but not in the superclass. It identifies that an abstract method is missing in the superclass.
Checks that all subclassResponsibility methods are defined in all leaf classes.
Note that each of the 120 subclasses of RBLintRule has a method called #rationale that describes its intent. There are even tests that verify this. Of course the string is not a class comment, but something to be displayed in the code critics browser. Still I note a certain degree of overlap ...
I wonder, we may just comment RBLintRule. Then wouldn't it be nice that class browser, when displaying a class without comment, goes up in the hierarchy up to Object (excluded) to get the first comment found ? Laurent.
Lukas
-- Lukas Renggli www.lukas-renggli.ch
could be interesting. But it would just hides our poor comment quality. I prefer to see that I'm poor than pretend I'm rich :) For the RBRule what would be great (and this was on my overly long todo) was a improve the description. May be we should have a short and long one. Because something I do not understand (well I do most of the times) but I would love to get a nice description because we really want to push the rules usage. We got a postdoc with chili (yesterday - hello and welcome angel :) ) and we want him to help building better infrastructure around rules - book chapter on rule engine - storing metadata because it does not scale to add pragmas in method (we probably need a package manifesto). - analyzing the rules and their application to pharo and pharo projects - get rules automatically run with jenkins Stef On Sep 2, 2011, at 8:27 AM, laurent laffont wrote:
On Thu, Sep 1, 2011 at 10:08 PM, Lukas Renggli <renggli@gmail.com> wrote:
Today: RBSubclassResponsibilityNotDefinedRule
This rules identifies when several methods in a set of subclasses are defined but not in the superclass. It identifies that an abstract method is missing in the superclass.
Checks that all subclassResponsibility methods are defined in all leaf classes.
Note that each of the 120 subclasses of RBLintRule has a method called #rationale that describes its intent. There are even tests that verify this. Of course the string is not a class comment, but something to be displayed in the code critics browser. Still I note a certain degree of overlap ...
I wonder, we may just comment RBLintRule. Then wouldn't it be nice that class browser, when displaying a class without comment, goes up in the hierarchy up to Object (excluded) to get the first comment found ?
Laurent.
Lukas
-- Lukas Renggli www.lukas-renggli.ch
For the RBRule what would be great (and this was on my overly long todo) was a improve the description. May be we should have a short and long one. Because something I do not understand (well I do most of the times) but I would love to get a nice description because we really want to push the rules usage.
Longer descriptions for most rules can be found here: http://www.refactory.com/RefactoringBrowser/BrowserPagesLintChecks.html The #rational should remain a one sentence description for the UI.
    - get rules automatically run with jenkins
I've implemented that a long time ago with the rest of the build system. For example, on the Seaside build (http://jenkins.lukas-renggli.ch/job/Seaside%203.0/) there is a graph that shows the change in code critics issues over time ("Checkstyle Trend"). If you click on the graph or on "Checkstyle Warnings" (http://jenkins.lukas-renggli.ch/job/Seaside%203.0/715/checkstyleResult/?) you get detailed reports about all issues and how they change between the builds. The only thing to do is to tell Jenkins to run the report. The syntax is exactly the same as with running tests, except that you use HDLintReport instead of HDTestReport. It is all described in the README text of the Jenkins scripts. Lukas -- Lukas Renggli www.lukas-renggli.ch
cool thanks we will look at it. Andre started to redo it (i think). Stef On Sep 2, 2011, at 10:59 AM, Lukas Renggli wrote:
For the RBRule what would be great (and this was on my overly long todo) was a improve the description. May be we should have a short and long one. Because something I do not understand (well I do most of the times) but I would love to get a nice description because we really want to push the rules usage.
Longer descriptions for most rules can be found here: http://www.refactory.com/RefactoringBrowser/BrowserPagesLintChecks.html
The #rational should remain a one sentence description for the UI.
- get rules automatically run with jenkins
I've implemented that a long time ago with the rest of the build system. For example, on the Seaside build (http://jenkins.lukas-renggli.ch/job/Seaside%203.0/) there is a graph that shows the change in code critics issues over time ("Checkstyle Trend"). If you click on the graph or on "Checkstyle Warnings" (http://jenkins.lukas-renggli.ch/job/Seaside%203.0/715/checkstyleResult/?) you get detailed reports about all issues and how they change between the builds.
The only thing to do is to tell Jenkins to run the report. The syntax is exactly the same as with running tests, except that you use HDLintReport instead of HDTestReport. It is all described in the README text of the Jenkins scripts.
Lukas
-- Lukas Renggli www.lukas-renggli.ch
On Sep 2, 2011, at 2:57 , Stéphane Ducasse wrote:
could be interesting. But it would just hides our poor comment quality. I prefer to see that I'm poor than pretend I'm rich :)
For the RBRule what would be great (and this was on my overly long todo) was a improve the description. May be we should have a short and long one. Because something I do not understand (well I do most of the times) but I would love to get a nice description because we really want to push the rules usage.
We got a postdoc with chili (yesterday - hello and welcome angel :) ) and we want him to help building better infrastructure around rules - book chapter on rule engine - storing metadata because it does not scale to add pragmas in method (we probably need a package manifesto). - analyzing the rules and their application to pharo and pharo projects - get rules automatically run with jenkins
Hello everybody, nice to join this community. It will be a pleasure to help with this. -- Angel
On Sep 2, 2011, at 8:27 AM, laurent laffont wrote:
On Thu, Sep 1, 2011 at 10:08 PM, Lukas Renggli <renggli@gmail.com> wrote:
Today: RBSubclassResponsibilityNotDefinedRule
This rules identifies when several methods in a set of subclasses are defined but not in the superclass. It identifies that an abstract method is missing in the superclass.
Checks that all subclassResponsibility methods are defined in all leaf classes.
Note that each of the 120 subclasses of RBLintRule has a method called #rationale that describes its intent. There are even tests that verify this. Of course the string is not a class comment, but something to be displayed in the code critics browser. Still I note a certain degree of overlap ...
I wonder, we may just comment RBLintRule. Then wouldn't it be nice that class browser, when displaying a class without comment, goes up in the hierarchy up to Object (excluded) to get the first comment found ?
Laurent.
Lukas
-- Lukas Renggli www.lukas-renggli.ch
On Fri, Sep 2, 2011 at 8:57 AM, Stéphane Ducasse <stephane.ducasse@inria.fr>wrote:
could be interesting. But it would just hides our poor comment quality. I prefer to see that I'm poor than pretend I'm rich :)
I agree. But sometimes there's so few comments in a package that's I don't bother search for one. It should be easy to see classes that have comments in the browser (icon ? color ?). Laurent.
For the RBRule what would be great (and this was on my overly long todo) was a improve the description. May be we should have a short and long one. Because something I do not understand (well I do most of the times) but I would love to get a nice description because we really want to push the rules usage.
We got a postdoc with chili (yesterday - hello and welcome angel :) ) and we want him to help building better infrastructure around rules - book chapter on rule engine - storing metadata because it does not scale to add pragmas in method (we probably need a package manifesto). - analyzing the rules and their application to pharo and pharo projects - get rules automatically run with jenkins
Stef
On Sep 2, 2011, at 8:27 AM, laurent laffont wrote:
On Thu, Sep 1, 2011 at 10:08 PM, Lukas Renggli <renggli@gmail.com> wrote:
Today: RBSubclassResponsibilityNotDefinedRule
This rules identifies when several methods in a set of subclasses are defined but not in the superclass. It identifies that an abstract method is missing in the superclass.
Checks that all subclassResponsibility methods are defined in all leaf classes.
Note that each of the 120 subclasses of RBLintRule has a method called #rationale that describes its intent. There are even tests that verify this. Of course the string is not a class comment, but something to be displayed in the code critics browser. Still I note a certain degree of overlap ...
I wonder, we may just comment RBLintRule. Then wouldn't it be nice that class browser, when displaying a class without comment, goes up in the hierarchy up to Object (excluded) to get the first comment found ?
Laurent.
Lukas
-- Lukas Renggli www.lukas-renggli.ch
On Sep 2, 2011, at 8:34 PM, laurent laffont wrote:
On Fri, Sep 2, 2011 at 8:57 AM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote: could be interesting. But it would just hides our poor comment quality. I prefer to see that I'm poor than pretend I'm rich :)
I agree. But sometimes there's so few comments in a package that's I don't bother search for one. It should be easy to see classes that have comments in the browser (icon ? color ?).
indeed. Stef
Laurent.
For the RBRule what would be great (and this was on my overly long todo) was a improve the description. May be we should have a short and long one. Because something I do not understand (well I do most of the times) but I would love to get a nice description because we really want to push the rules usage.
We got a postdoc with chili (yesterday - hello and welcome angel :) ) and we want him to help building better infrastructure around rules - book chapter on rule engine - storing metadata because it does not scale to add pragmas in method (we probably need a package manifesto). - analyzing the rules and their application to pharo and pharo projects - get rules automatically run with jenkins
Stef
On Sep 2, 2011, at 8:27 AM, laurent laffont wrote:
On Thu, Sep 1, 2011 at 10:08 PM, Lukas Renggli <renggli@gmail.com> wrote:
Today: RBSubclassResponsibilityNotDefinedRule
This rules identifies when several methods in a set of subclasses are defined but not in the superclass. It identifies that an abstract method is missing in the superclass.
Checks that all subclassResponsibility methods are defined in all leaf classes.
Note that each of the 120 subclasses of RBLintRule has a method called #rationale that describes its intent. There are even tests that verify this. Of course the string is not a class comment, but something to be displayed in the code critics browser. Still I note a certain degree of overlap ...
I wonder, we may just comment RBLintRule. Then wouldn't it be nice that class browser, when displaying a class without comment, goes up in the hierarchy up to Object (excluded) to get the first comment found ?
Laurent.
Lukas
-- Lukas Renggli www.lukas-renggli.ch
participants (4)
-
Angel Nunez -
laurent laffont -
Lukas Renggli -
Stéphane Ducasse