JeuWeb - Crée ton jeu par navigateur
[Coding style] Vos solutions pour un code lisible ? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Coding style] Vos solutions pour un code lisible ? (/showthread.php?tid=4309)

Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17


RE: [Coding style] Vos solutions pour un code lisible ? - Argorate - 11-01-2011

Pour moi, le ruby tombe dans l'excés, c'est a dire qu'un language doit etre simple syntaxiquement parlant, mais pas trop sinon on perd la rigeur qu'un langage doit avoir. Le point virgule pour une fin d'instruction et le return sont des choses sans lesquel le code perd tout son sens! Pas de return? alors quoi? on fait quoi? on sait pas si elle retourne ou non, et si tu ne veux rien retourner on peut pas différencier puisqu'il n'y a pas la présance du mot clé, alors j'imagine que la distinction ce fait autrement, mais c'est quand meme plus parlant de voir marqué le mot clé (je parle toujours pour ma part bien entendu, je ne peux parler pour les autres).

Après c'est sur, à la place de function on pourait marqué func, a la place de return: rtn, array: ary...etc mais a force de vouloir gagner des caracteres par feignanterie (attention ce n'est pas un défaut, généralement en programmation c'est une qualité), et bien on perd le sens des choses. Pour moi, il faut pas tomber dans l'excès ni d'un coté, ni de l'autre... Genre le array qui disparait, on perd encore une fois le sens : "array", paf on sait qu'on parle d'un tableau...
Idem pour le empty, il m'a fallut relire trois fois le code ruby pour comprendre (et pourtant j'avais la traduction php), il y a meme plus de test avec le empty, tout est camouflé par une syntaxe qui n'est pas explicite, et comme on dit, ce qui évident l'est encore plus quand c'est explicite!

Je sais pas comment l'expliquer autrement, mais trop de factorisation et d'implicite, ce n'est pas bon pour la compréhension.

Bref, chacun son langage et ses conventions, ce qu'il faut c'est s'y retrouver sois meme...


RE: [Coding style] Vos solutions pour un code lisible ? - Sephi-Chan - 11-01-2011

Tu n'as aucun recul sur le langage que tu pratiques, puisque tu ne pratiques que lui.

(11-01-2011, 12:50 AM)Argorate a écrit : Genre le array qui disparait, on perd encore une fois le sens : "array", paf on sait qu'on parle d'un tableau...

C'est curieux, ça ne te dérange pas pour les chaînes de caractères.
Comme on écrit array("foo", "bar"); pourquoi n'écrirait-t-on pas string("foo") ?

Ensuite, des choses aussi simples qu'un opérateur OR (dans sa forme symbolique universelle ||) te paraissent moins logique qu'un test ternaire.

Tes œillères Argorate… Tes œillères… Smile


Sephi-Chan


RE: [Coding style] Vos solutions pour un code lisible ? - php_addict - 11-01-2011

(11-01-2011, 12:50 AM)Argorate a écrit : Pour moi, le ruby tombe dans l'excés, c'est a dire qu'un language doit etre simple syntaxiquement parlant, ...

Bref, chacun son langage et ses conventions, ce qu'il faut c'est s'y retrouver sois meme...

sans vouloir te manquer de respect, tu te contredit un peu je trouve... pour toi ruby n'est pas syntaxiquement parlant mais tu dit que ruby convient à certains donc ruby est syntaxiquement parlant.


RE: [Coding style] Vos solutions pour un code lisible ? - Sephi-Chan - 11-01-2011

C'est quelque chose de subjectif, le syntaxiquement parlant. :p


RE: [Coding style] Vos solutions pour un code lisible ? - Argorate - 11-01-2011

Attention a ne pas confondre, j'ai dis que pour moi, c'était pas vraiment parlant, mais je conclue sur le fait que je veux bien admetre qu'éventuelement, il soit potencielement possible, qu'avec un peu d'habitude, on puisse arriver à entrevoir les choses...

Plus serieusement, ce que je veux dire par là, c'est que je peux comprendre que certains s'y retrouve, mais je n'y adhére pas.... (j'appel ça etre ouvert d'esprit, mais il parait que j'ai des œillères.... chute! :p)


RE: [Coding style] Vos solutions pour un code lisible ? - Sephi-Chan - 11-01-2011

Oui, oui, des œillères car tu es complètement conditionné par PHP. Smile

Le code suivant :


name ||= 'Anonyme'
name = name || 'Anonyme' # Alternative.

Est infiniment plus logique et naturel qu'un ternaire :


$name = empty($name) ? 'Anonyme' : $name;


Sephi-Chan


RE: [Coding style] Vos solutions pour un code lisible ? - niahoo - 11-01-2011

ben, plus logique non, les deux verbiages expriment une logique identique avec une syntaxe différente.

plus naturelle, essaie de prendre un point de vue de personne qui n'a jamais touché à du code, je dirais que les deux sont plutôt opaques.

C'est très subjectif votre argumentation. Je trouve pas ruby particulièrement plus simple. D'un coté il y a moins de signes dans une expression, et la lecture est plus claire, de l'autre il y a bien plus de symboles différents, avec différentes combinaisons de ceux-ci en ruby qu'en PHP.

Ps: je travaille quotidiennement avec PHP, j'ai touché au ruby 10 minutes – j'en ai lu plus longtemps quand même – mon point de vue est à prendre en connaissance de cause.


RE: [Coding style] Vos solutions pour un code lisible ? - Viciousity - 11-01-2011

Ce sont des conventions a apprendre et une fois connue semble logique ;P

4.times do
puts 'hello'
end
n'est-il pas plus lisible et explicite que :
for(i=0;i<4;i++){
echo 'hello'
}

Vous trouvez peut être Ruby trop épuré et illisible mais je pense qu'un rubiiste(existe pas ce mot) qui lira la première fois du php se demandera a quoi servent tous ces symboles et sera perdu dans l'amas de code devant lui Big Grin

Question de point de vue les amis Smile


RE: [Coding style] Vos solutions pour un code lisible ? - Ter Rowan - 11-01-2011

(11-01-2011, 01:57 AM)Sephi-Chan a écrit : Oui, oui, des œillères car tu es complètement conditionné par PHP. Smile

Le code suivant :


name ||= 'Anonyme'
name = name || 'Anonyme' # Alternative.

Est infiniment plus logique et naturel qu'un ternaire :


$name = empty($name) ? 'Anonyme' : $name;


Sephi-Chan

le plus logique c'est avec un if je trouve personnellement... J'aime pas les ternaires je trouve cela illisible, c'est déjà du condensé

mais c'est vrai que sans rentrer dans l'excès de ne pas comprendre les exemples que tu fournis Sephi (en grattant j'y arrive) je ne trouve pas les codes présentés particulièrement compréhensibles au premier coup d'oeil

d'une part parce que j'aime bien lire les instructions (l'exemple du return d'argorate me paraît très bien) d'autre part parce que je suis d'une tradition (formation) C, C++ et compagnie


alors œillère ou pas va savoir, j'ai toujours développé en amateur, jamais en pro (même si parfois je challenge des développements au boulot) mais j'ai touché depuis 30 ans maintenant à :

au basic d'oric (1980 j'étais au CP/CE1)
à l'équivalent pour TO7
au logo (qu'à rien a voir avec le basic)
au basic d'amstrad (auquel j'ai rajouté une surcouche pour franciser les opérations, ça me faisait marrer à 12 ans)
au vb (de l'ancien temps des années 90)
au turbo pascal en prépa, puis en ingénieur dans l'ordre au c, c++, java,
depuis php (tout ça de la même famille que c) à la maison
c# pour les développements de mon équipe
et au javascript histoire de pas oublier

et c'est bien cette famille d'opérateur, de syntaxe, de grammaire issue du C avec laquelle je suis le plus à l'aise

On voit bien pour le même langage (javascript) la différence d'approche entre les gens en fonction du framework :

je préfère l'utilisation du feu (ou presque feu) prototype
y a eu ici même un débat entre mootools (ou un truc comme ça) et jquery ou, au final, on avait conclu que peu ou prou à l'époque ça se valait pourtant les aficionados de l'un n'était pas près de changer pour l'autre, uniquement pour l'approche
(ce qui ne veut pas dire que si j'avais à choisir, aujourd'hui je choisirais jquery même si je n'aime pas trop son "accès")


il faut aussi accepter que l'autre apprécie certaines choses.

Perso je n'aime pas lire un code ou les variables sont a, b, c sous prétexte que ça économise de la place par rapport à des noms représentant le concept fonctionnel de la variable, il en va de même pour des instructions, y compris "basique" comme le return car ce que je vois à l'écran je le lis tel quel (dans ma tête). Du coup, si pas de return, j'interprète naturellement pas de retour à la fonction.

Il me faut faire un effort intellectuel plus intense pour identifier ce retour non formalisé que de saisir "return".
Maintenant je vois bien que pour ce genre de chose, et d'autres on peut avoir un schema de réflexion différent et ne pas avoir besoin de ces points là. Mais l'avantage synthétique que tu trouves à RoR, pour moi c'est un inconvénient.


RE: [Coding style] Vos solutions pour un code lisible ? - Sephi-Chan - 11-01-2011

Je parlais de l'utilisation d'un opérateur logique connu (le OR) par son symbole connu (le ||). Une personne avec un esprit un brin mathématique y verra une simple expression logique.

(11-01-2011, 02:05 AM)niahoo a écrit : C'est très subjectif votre argumentation. Je trouve pas ruby particulièrement plus simple. D'un coté il y a moins de signes dans une expression, et la lecture est plus claire, de l'autre il y a bien plus de symboles différents, avec différentes combinaisons de ceux-ci en ruby qu'en PHP.

Plus de symboles ? Lesquels ? Je pense que la quantité de symbole se vaut.

Enfin, de toute façon on s'éloigne à nouveau du sujet. Le but était de discuter de la façon d'organiser et de noter les choses pour un même langage.

Même si c'est rigolo, il n'est pas pertinent de comparer des langages n'ayant pas la même syntaxe.


Sephi-Chan