19
Chuchutez votre code JavaScript Romain Linsolas @romaintaz 1

Devoxx java script-1280-720

Embed Size (px)

DESCRIPTION

Ma présentation "Chouchoutez votre code JavaScript", réalisée le 18 avril 2012 au premier Devoxx France.

Citation preview

Page 1: Devoxx java script-1280-720

Ch♥uch♥utez votrecode JavaScript

Romain Linsolas

@romaintaz

1

Page 2: Devoxx java script-1280-720

AbstractLa recette du “JavaScript aux petits oignons” :

1.Écrire des tests pour son JavaScript

2.Analyser son code pour enlever les bugs

3.Bien couvrir

4.Laisser mijoter dans un serveur d’intégration continue

2

Page 3: Devoxx java script-1280-720

Romain Linsolas

•Développeur Java / Web depuis 2002

•Éleveur d'usines logicielles

•@ Société Générale

3

@romaintaz

http://linsolas.free.fr/wordpress

Page 4: Devoxx java script-1280-720

1. Testons !

4

Page 5: Devoxx java script-1280-720

Notre cobaye…

•60+ méthodes utilitaires

•Support pour la programmation fonctionnelle

5

http://documentcloud.github.com/underscore/

@DocumentCloud

Page 6: Devoxx java script-1280-720

Notre (1ère) librairie de tests JavaScript

•BDD (Behavior Driven Development)

•Nombreux supports : Java (Maven), .Net, Ruby, Node.js, JsTestDriver, etc.

6

http://pivotal.github.com/jasmine/

@JasmineBDD

Page 7: Devoxx java script-1280-720

7

Page 8: Devoxx java script-1280-720

2. Analysons !

8

Page 9: Devoxx java script-1280-720

Notre outil d'analyse du code

•Plateforme de suivi de la qualité du code

•Mesure de la dette technique

•Multi-langages : Java, C#, PHP, JS, Python, etc.

9

http://www.sonarsource.com/

@SonarSource

Page 10: Devoxx java script-1280-720

10

Page 11: Devoxx java script-1280-720

3. Couvrons !

11

Page 12: Devoxx java script-1280-720

js-test-driver Notre 2ème framework de test JavaScript

•Syntaxe proche de JUnit (assertXXX)

•Propose un plugin de mesure de couverture de code

12

http://code.google.com/p/js-test-driver/

Page 13: Devoxx java script-1280-720

Exemple de code js-test-driver

GreeterTest = TestCase("GreeterTest");

GreeterTest.prototype.testGreet = function() {

var greeter = new myapp.Greeter();

assertEquals("Hello World!", greeter.greet("World"));

};

13

Page 14: Devoxx java script-1280-720

14

Page 15: Devoxx java script-1280-720

3. Intégrons !

15

Page 16: Devoxx java script-1280-720

Notre serveur d’intégration continue

•Très facile d'utilisation

•Développement & communauté très actifs

•400+ plugins

16

http://jenkins-ci.org/

@JenkinsCI

Page 17: Devoxx java script-1280-720

17

Page 18: Devoxx java script-1280-720

D’autres choix…

•QUnit : http://docs.jquery.com/QUnit

•YUI Test : http://yuilibrary.com/yui/docs/test/

•Mocha : http://visionmedia.github.com/mocha/

•RhinoUnit : http://code.google.com/p/rhinounit/

• JsUnit : http://www.jsunit.net/

•TestSwarm : https://github.com/jquery/testswarm/

18

Page 19: Devoxx java script-1280-720

Questions…

19