IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

CoffeeScript une réponse possible au champ miné qu’est JavaScript ?


Sujet :

JavaScript

  1. #21
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 99
    Points : 303
    Points
    303
    Par défaut
    L'histoire des espaces autour des opérateurs ça me fait penser au C++ (2003) où
    Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
    vector<vector<int>>

    était une erreur. Parfois les grammaires sont boguées, et C++ 2003 devait interpréter ">>" comme l'opérateur et non comme "fin de template, fin de template".

    Il y a pas mal de points valides dans tout ce qui a été dit. Finalement l'indentation codante n'est pas un problème si et seulement si le parser (et par conséquent la grammaire) est suffisamment strict*. Je pense que c'est là ZE faiblesse de coffeescript. Le compilateur laisse passer des ambiguïtés et les messages d'erreurs sont parfois... satellisants. En fait, en resserrant un peu la grammaire et améliorant les retours du compilo, ça serait le top (mais ça foutrait la pagaille dans les programmes déjà existants ).

    Alors on peut peut-être espérer une évolution du compilo? Ou alors Coffeelint** comble-t-il les manques?

    Mais déjà, pratiquant beaucoup Python, je me retrouve mieux dans (un certain dialecte strict de ) Coffeescript que dans Javascript. Bref... question d'horizons sans doute.

    Daniel

    * et qu'on ne tient pas aux accolades/points-virgules/deux-points/... comme à un talisman
    ** je ne connaissais pas, je devrais prendre l'habitude de chercher "{nom_du_langage}lint"

  2. #22
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Philippines

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2005
    Messages : 244
    Points : 609
    Points
    609
    Par défaut
    Coffeelint corrige bien ce genre de probleme, à utiliser absolument si tu fais du coffee

    Il est très stricte et il relève même des trucs correctes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $("#selector")
      .on 'click', -> something()
      .attachTo($('body'))
    (En fait il faut ecrire)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $("#selector")
    .on 'click', -> something()
    .attachTo($('body'))
    Mais je trouve l'indentation dans ce cas intéressant ;-)

  3. #23
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    Citation Envoyé par ctxnop Voir le message
    Moi je suis moyennement d'accord avec ça
    J'aime bien le fait que l'indentation soit codante dans le principe, parce que ça oblige à indenter et force donc un style d'écriture commun à tout le monde, ce qui augmente la lisibilité in fine.
    Mais dans la pratique c'est en réalité trop rigide. On ne peut plus indenter volontairement pour aligner des choses afin de rendre plus lisible.
    en fait ce que je ne comprend pas dans ce débat sur l'indentation c'est en quoi il est opposé à une syntaxe claire...qu'est-ce qui empêcherais un compilateur C++ "strict" de refuser ce code mal indenté ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    void
     test(
    int i) 
    {
     return
      i
    *i; }
    il est syntaxiquement correct, mais le compilateur pourrait le refuser pour manque de lisibilité, on aurait le meilleur des deux mondes....d'autant qu'un IDE digne de ce nom sera en mesure de corriger sans erreur l'indentation de ce code.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  4. #24
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 99
    Points : 303
    Points
    303
    Par défaut
    J'ai installé coffeelint et ai activé flymake-coffee dans mon emacs. Ah bah oui, il repère pas mal de trucs. Il faut le configurer un peu aussi pour limiter les faux positifs (j'indente avec 4 espaces par ex., pas deux - je suis myope, j'aime bien avoir un beau décalage bien repérable) mais il fait déjà un bon boulot!

    Daniel

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/09/2014, 21h52
  2. EditText une seule réponse possible
    Par jacknower dans le forum Java ME
    Réponses: 0
    Dernier message: 04/07/2012, 11h32
  3. Réponses: 7
    Dernier message: 19/04/2012, 12h38
  4. [VS 2005] - Menu déroulant dans champ d'une listview possible?
    Par hulahup dans le forum Windows Forms
    Réponses: 8
    Dernier message: 15/04/2008, 13h29
  5. Activation d'un champ en fonction d'une réponse
    Par soso78 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 30/05/2005, 10h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo