[dojo-contributors] A new build tool for style guide violation checking

Shane O'Sullivan shaneosullivan1 at gmail.com
Mon May 11 09:57:41 EDT 2009


Mike,

It's doing whatever validations we can automatically - code integrity,
formatting integrity, and whatever else makes sense.  I figure that
any tool that makes our life easier and saves us time is worth
writing.

I propose we get this checked in, fix the 5000+ errors that exist for
now, and build on it as an ongoing project - if that involves dropping
in a cut down jslint, then so be it.  It'd be cool if someone skilled
in regex-fu could refactor some of the code also, as it's all manual
array manipulation for now (still pretty fast though).

Whether or not it is integrated with svn is a different discussion I think.

Thanks

Shane

2009/5/11 Mike Wilcox <mwilcox at sitepen.com>:
> It sounds like you are mixing two different validations - code
> integrity (braces in if statements)  and formating integrity (proper
> tabbing and minimum whitespace).
>
> I think I joined Dojo slightly after that jslint discussion. Since I
> use jslint to validate my code and check for errors, and my IDE Komodo
> uses it, I'd like to see it used in Dojo. But a subset as you say,
> because there are a few things in it I don't agree with. It certainly
> would clean up the missing semi colons!
>
> But I'd like to point out that whatever JS validation we use, it needs
> to not be too strict. Currently all my code returns a "no side
> effects" error and I have to use !strict on all of it, which defeats
> the purpose. And I'm pretty sure my code has side effects :)
>
>
> Mike Wilcox
> mwilcox at sitepen.com
> http://www.sitepen.com
> work: 650.968.8787 x218
> cell:     214.697.4872
>
> On May 11, 2009, at 7:54 AM, Shane O'Sullivan wrote:
>
>> jslint seems mostly to be just a target for controversy - while it has
>> many good points, we'd just end up talking about it for far too long
>> and nothing would get done on this.
>>
>> I think the style guidelines we have are pretty comprehensive, and
>> translating most of them into code shouldn't be too difficult.
>>
>> Alternatively, we could take a subset of jslint
>>
>> Shane
>>
>> 2009/5/11 Adam Peller <peller at gmail.com>:
>>> So, similar to the forum discussion, we should consider the cost of
>>> being 'different' and maintaining our own tools.  Is jslint a
>>> non-starter?
>>>
>>> On Mon, May 11, 2009 at 5:06 AM, Peter E Higgins <dante at dojotoolkit.org
>>> > wrote:
>>>> Sweet!
>>>>
>>>> Couple of things pop out at me (I'm looking at dojo/back.js now)
>>>>
>>>> * Whitespace around || statements: eg: var f = a||b||c should be
>>>> var f =
>>>> a || b || c;
>>>> * Tabs/spaces after last character in line (we could probably strip
>>>> these pre-commit with sed or similar)
>>>> * if(foo){ }else{ } ... iirc we disallow unbracketed conditionals
>>>> and
>>>> loops even for single line cases
>>>> * objects _should_ have space after the {}, eg: {display:"none"}
>>>> should
>>>> be { display: "none" }, but I'm not sure that is mandatory.
>>>> * we're using document.write in that file. for the sake of
>>>> consistency,
>>>> we could detect that and "suggest" using dojo.doc or something
>>>> similar
>>>>
>>>> Those are [at least to me] the "important"/"common" things. It
>>>> might be
>>>> too much to ask for check for a space/tab between a comment and a
>>>> keyword, eg:
>>>>
>>>> //summary:
>>>> //   Hi!
>>>>
>>>> should be
>>>>
>>>> //\tsummary:
>>>> //\t\tHi!
>>>>
>>>>
>>>> Otherwise, great stuff. Will take a peek at the patch and see what
>>>> all
>>>> it is doing. Sorry I didn't get back to your inital email, but my
>>>> drafted repsonse was "yes, run with it"
>>>>
>>>> Regards,
>>>> Peter
>>>>
>>>> Shane O'Sullivan wrote:
>>>>> I've also put a copy of the report online at
>>>>> http://skynet.ie/~sos/misc/dojoCheckstyle/util/buildscripts/checkstyleReport.html
>>>>> for people to check out rather than having to apply the patch.
>>>>>
>>>>> Shane
>>>>>
>>>>> 2009/5/11 Shane O'Sullivan <shaneosullivan1 at gmail.com>:
>>>>>
>>>>>> As usual, it's always the little things that get forgotten :-)
>>>>>> Sorry
>>>>>> about that, the patch is there now.
>>>>>>
>>>>>> Shane
>>>>>>
>>>>>> 2009/5/11 Adam Peller <peller at gmail.com>:
>>>>>>
>>>>>>> Shane - I don't see the patch.  Can you post it again?
>>>>>>>
>>>>>>> I think it might be best to add this as a pre- (fatal) or
>>>>>>> post-processing (warning) svn-hook.
>>>>>>>
>>>>>>> On Sun, May 10, 2009 at 6:35 PM, Shane O'Sullivan
>>>>>>> <shaneosullivan1 at gmail.com> wrote:
>>>>>>>
>>>>>>>> Hi All,
>>>>>>>>
>>>>>>>> Given that my first official check-in last week was riddled
>>>>>>>> with style
>>>>>>>> guide violations, which I find it both difficult and boring to
>>>>>>>> have to
>>>>>>>> look for (4 spaces looks VERY like a tab), I decided to have a
>>>>>>>> go at
>>>>>>>> writing an extension to our build tools that does an optional
>>>>>>>> check
>>>>>>>> for style guide violations.
>>>>>>>>
>>>>>>>> It obviously can't check for everything in the style guide,
>>>>>>>> but it can
>>>>>>>> enforce many of the simpler guidelines.
>>>>>>>>
>>>>>>>> I've attached a patch file to http://bugs.dojotoolkit.org/ticket/9278
>>>>>>>> for people to look at.  It's extremely easy to use,
>>>>>>>> instructions are
>>>>>>>> included in the ticket.
>>>>>>>>
>>>>>>>> What do people think?   Right now it only enforces a few
>>>>>>>> rules, more
>>>>>>>> as a proof of concept than anything else.  However, it's
>>>>>>>> extremely
>>>>>>>> easy to extend to enforce more.  Also, while some guidelines
>>>>>>>> would be
>>>>>>>> too difficult to do in this manner, the fact that there's
>>>>>>>> about 5000
>>>>>>>> violations in the toolkit right now of just these sample rules
>>>>>>>> shows
>>>>>>>> that this can be a very valuable tool for tracking these issues.
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>>
>>>>>>>> Shane
>>>>>>>> _______________________________________________
>>>>>>>> dojo-contributors mailing list
>>>>>>>> dojo-contributors at mail.dojotoolkit.org
>>>>>>>> http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
>>>>>>>>
>>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> dojo-contributors mailing list
>>>>>>> dojo-contributors at mail.dojotoolkit.org
>>>>>>> http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
>>>>>>>
>>>>>>>
>>>>> _______________________________________________
>>>>> dojo-contributors mailing list
>>>>> dojo-contributors at mail.dojotoolkit.org
>>>>> http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Peter E Higgins
>>>> Dojo Project Lead : http://dojotoolkit.org
>>>>
>>>> _______________________________________________
>>>> dojo-contributors mailing list
>>>> dojo-contributors at mail.dojotoolkit.org
>>>> http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
>>>>
>>> _______________________________________________
>>> dojo-contributors mailing list
>>> dojo-contributors at mail.dojotoolkit.org
>>> http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
>>>
>> _______________________________________________
>> dojo-contributors mailing list
>> dojo-contributors at mail.dojotoolkit.org
>> http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
>>
>>
>
> _______________________________________________
> dojo-contributors mailing list
> dojo-contributors at mail.dojotoolkit.org
> http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
>


More information about the dojo-contributors mailing list