[IPython-dev] bug in html notebook in latest version?
Matthias BUSSONNIER
bussonniermatthias at gmail.com
Tue Oct 23 13:11:10 EDT 2012
Le 23 oct. 2012 à 18:42, Brian Granger a écrit :
> On Tue, Oct 23, 2012 at 9:39 AM, Matthias BUSSONNIER
> <bussonniermatthias at gmail.com> wrote:
>>>
>>> I hate to say this, b/c I'm not the one writing much JS code and I
>>> don't want to sound like a grouch, but I'd like to ask everyone
>>> working on JS to tackle the testing problem as a very high priority
>>> question and to consider a moratorium on major new work until we sort
>>> it out. For years the old IPython codebase started without tests, and
>>> that started to slowly paralize and kill the project. Eventually we
>>> bit the bullet and developed a testing machinery that, while ugly at
>>> the beginning, got us moving. And over time, that machinery has
>>> gradually gotten better and better, and today on the core code we
>>> actually do have decent testing (not perfect, but not terrible
>>> either).
>>>
>>> I am growing increasingly worried about more and more JS code without
>>> tests and I fear we're going in the same direction here.
>>>
>>> I am NOT trying to slow down development or boss anyone around, but we
>>> really need to take this problem seriously, or the whole project will
>>> suffer.
>>>
>>> Thoughts?
>>
>> I think our current JS architecture is not designed for good testing.
>> I'll will try to come up with an IPEP, but for the basic, we should:
>>
>> make use of `require` and have a more MVC approach.
>> -> it will allow to have model testing on server-side with node for example.
>
> Do you have thoughts on the best implementation of "require"?
I've heard of requireJS,
and it ships with r.js that apparently allow to transform commonJS require to a more async requireJS form.
I've never used it though.
I think that the commonJS
x = require('…')
is much more readable and understandable than the callback based one.
In the long run, I think that having a 'dev' flag would be great.
Without the dev flag all the JS/css/coffescript/... would be minified and in one file.
and if you want to introspect, you activate the dev flag and everything is unmignified and readable.
RequireJs Does allow that, which is a plus, even if it means adding a compile option to js.
--
Matthias
More information about the IPython-dev
mailing list