[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