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 ? - Roworll - 18-09-2009

Citation :Ps @ Guile : Je suis déçu que tu tournes ça ainsi…
Faut avouer qu'il n'a pas tort.
La conversation commence sérieusement à tourner autour des outils des uns et des autres (avec ou sans dénigrement en fonction de la personnalité de l'intervenant).
Il n'y a qu'à voir le nombre d'acronymes balancés sur le dernier tiers du sujet. On dérive carrément vers une "bagarre d'experts" avec des messages au contenu remplit d'acronymes qui ne doivent intéresser que 4-5 personnes sur le forum.


RE: [Coding style] Vos solutions pour un code lisible ? - Sephi-Chan - 18-09-2009

(18-09-2009, 07:30 AM)Roworll a écrit :
Citation :Ps @ Guile : Je suis déçu que tu tournes ça ainsi…
Faut avouer qu'il n'a pas tort.
La conversation commence sérieusement à tourner autour des outils des uns et des autres (avec ou sans dénigrement en fonction de la personnalité de l'intervenant).
Il n'y a qu'à voir le nombre d'acronymes balancés sur le dernier tiers du sujet. On dérive carrément vers une "bagarre d'experts" avec des messages au contenu remplit d'acronymes qui ne doivent intéresser que 4-5 personnes sur le forum.

Ça n'a rien d'une bagarre, chacun utilise les outils qu'il veut. Simplement, pour choisir, ça implique de connaître les outils, alors on les cite et on donne des exemples de ceux qu'on connaît (et leurs implémentations pour d'autres langages). Je ne trouve pas ça choquant…

Un bon développement implique d'avoir de bons outils, non ?


Sephi-Chan


RE: [Coding style] Vos solutions pour un code lisible ? - Plume - 18-09-2009

Roworll : One point!

Je suis le sujet depuis le début, il n'y a pas finalement grand chose qui soit en lien avec le sujet Smile
Normalement, les normes de développements devraient être plutôt indépendantes des outils et langages, non ?


RE: [Coding style] Vos solutions pour un code lisible ? - QuentinC - 18-09-2009

Citation :Normalement, les normes de développements devraient être plutôt indépendantes des outils et langages, non ?
Indépendant des langages, pas si sûr. Un truc sans doute très con : java encourage la notation camelCase alors que le php, le perl ou le C favorisent plutôt une autre notation (dont je ne connais pas le nom), et que le C# favorise encore une autre (une sorte de camelCase inversé). La différence n'est pas énorme (on passe de nomDeFonction à nom_de_fonction ou NomDeFonction), mais perso je n'utilise que très rarement des underscore dans mes identificateurs. Je sais pas, j'aime pas ça, je préfère largement camelCase. Encore une histoire d'habitude sûrement.


RE: [Coding style] Vos solutions pour un code lisible ? - Argorate - 18-09-2009

Pour ce qui est de la nomenclature des fonctions, je pense qu'il faut savoir rester ouvert, il n'y a pas une méthode meilleur qu'une autre, du moment que la convention avec les underscore est utilisé et respecter, ou l'inverse, tout va bien.
L'important c'est que ce soit cohérant et lisible.

Moi je suis plutôt a l'inverse de toi QuentinC, je supporte mal les noms de fonctions où tout est accolé, je trouve ça illisible. Si on a inventé les espaces dans tous les langages de la terre, ce n’est pas pour rien, mais bien pour un problème de lisibilité.
Je trouve que les underscore sont discret et forme une espèce de blanc à l'image des espaces, donc beaucoup plus lisible pour moi.

Mais comme je l'ai dit, là je pense que c'est qu'une question de point de vue Wink


RE: [Coding style] Vos solutions pour un code lisible ? - Ekilio - 18-09-2009




RE: [Coding style] Vos solutions pour un code lisible ? - wild-D - 18-09-2009

plutot non, chaque langage à tendance à avoir des spécificité,sans compter que pour moi les outils c'est un truc assez fondamental.

je veux dire que quand je code du xhtml, il m'arrive bien souvent pour une table de faire:
'<','t', 'ENTREE','<','t','r','ENTREE',<','t','d','ENTREE',etc... l'autocomplétion fait le boulot, et je me préoccupe pas de l'indentation ou des balises fermantes
une fois le squelette fini *switch*, 'ALT','h','d','n' et tidy s'occupe de me faire un beau code xhtml validé et en plus formaté(après je peux toujours le replier si l'envie m'en prend).

à par le *switch* qui est un peut con gymnastiquement parlant (combinaison à base CTRL-s,ALT-TAB), c'est que du simple touche clavier. C'est donc rapide est efficace avec un minimum de gymnastique et un feedback constant IDE.

Coder ainsi, c'est quelque chose que j'apprécie *énormément*. un IDE qui s'occupe de tous les tracas, avec exlorateur de code, etc... ça fait bcp. Pourquoi se prendre la tête sur le formatage du code, quand on a la possibilité d'avoir un IDE capable de le reprendre et de l'adapter au goût du codeur ? Lorsque l'IDE peut de suite t'afficher la def de ta class ou fonction/méthode avec ces commentaires et tout le toutim, c'est autre chose que quand tu dois chercher toi-même à le deviner.

juger un langage sur juste un code source et son "coding style", c'est pas très pertinent, car c'est tout ce qu'il permet de faire, toute les librairies, framework qui en facilite l'exploitation, ainsi que tout les outils (IDE, générateur de code, debugguer et autre) qui vont faire qu'on développera plus ou moins efficacement une application robuste, évolutive et performante. Ainsi que ce qu'on a comme environnement de prod en terme de coût, de fiabilité; qui viennent compléter le tout.

chaque langage à ses propres capacités et contraintes. Un langage qui supporte ou non OO (accessoirement avec ou non support natif de setter/getter), à typage strict ou pas, etc... Tu rajoutes à cela tous les outils qui l'accompagne, tu te retrouve dans des environnement très différents. Ca va influencé tout le processus de développement.


un code lisible... oui mais ou ? dans notepad ou dans un IDE dédié avec la coloration syntaxique, explorateur, affichage automatique des def&doc et les 1001 outils qui l'accompage. C'est pas du tout les mêmes contraintes. Je dis pas que c'est mal un code lisible dans notepad, mais généralement quand on développe une appli, c'est rarement avec cet outil. S'amuser à ce servir de cette étalon comme référence pour juger de la "qualité/lisibilité/compréhension" d'un code... c'est un perfectionnisme qui n'est pas ma priorité. Après chacun juge selon ses goûts.


p.s.
@ekilio, un certain nombre des moteurs de template intègre un cache/générateur de code "compilé en php" qui comble une grosse part du déficit de perf initial. Généralement ça ne coutera finalement pas grand chose par rapport aux accès à la bdd.

la différence se situe quand tu accède directement au fichier: la première version (template) tu t'en fou.
la 2e, si tu le stocke pas dans un endroit "protégé" tu risque des déconvenue. Je suis pas pour les template. Mais je comprends quand même le principe qu'on préfère englober dans un environnement "maitrisé" des templates qui seront traiter par un designer, tandis que les dev purs eux s'occupent du code source php. Un template php on peut lui faire faire tout est n'importe quoi, ça a ces avantages ET ces inconvénients.


RE: [Coding style] Vos solutions pour un code lisible ? - Ekilio - 18-09-2009

@wild-D : je suis tout à fait d'accord qu'il faut le protéger, mais ça c'est la tache du concepteur de l'application. Je n'imagine pas une seule seconde, template ou pas, de laisser qui que ce soit modifier les fichiers (php ou html d'ailleurs) de mon site sans ma permission et ma vérification, c'est la base de la sécurité. Parce que même avec un simple fichier HTML, si vous m'y laissez l'accès, je vous récupère tous vos mots de passe administrateur : c'est le principe des failles XSS (en gros, on utilise du javascript pour afficher des images en récupérant au passage les cookies). Bref, pour moi l'utilisation d'un template n'est pas un gage de sécurité ; la sécurité, c'est une démarche qu'on effectue dès la conception de l'application, pas un truc qu'on attends de nos outils (templates ou autres) en priant pour qu'ils suffisent.


RE: [Coding style] Vos solutions pour un code lisible ? - Sephi-Chan - 18-09-2009

+1 Pour Wild-D.

Sinon, l'avis de Rasmus Ledorf, bien qu'étant le créateur de PHP3, n'est pas universel.

Comme dit plus haut, chacun fait ce qu'il veut. On parle de lisibilité, aborder les moteurs de template est donc évident. Chacun fait ce qu'il veut ensuite. Je le répète : pour choisir, il faut connaître.

Moi, je trouve les template en PHP peu lisible (à cause des $this->blabla->... à rallonge), de même que ceux de base de Ruby on Rails (Erb). Par contre Haml est très lisible :


<html>
<head>
<title><%= @page_title %></title>
</head>

<body>
<% for user in @users %>
<div class="user_name"><%= user.login %></div>
<% end %>
</body>
</html>


Code :
%html
  %head
    %title #{@page}
  
  %body
    - for user in @users
      %div.user_name #{user.login}

Je peux mélanger les deux dans un projet (mais pas dans le même template), même si je ne le fais jamais.


Sephi-Chan


RE: [Coding style] Vos solutions pour un code lisible ? - wild-D - 18-09-2009

tu sais si ton moteur de template et là pour valider l'abscence de code php, il peut aussi prendre en charge le nettoyage d'autre source de code malvaillant Wink

editAngrysephi
j'aime pas avoir des $this à tord et à travers dans mes template, c'est pour ça que ce que je tends à préfèrer comme soluce c'est de restreindre l'environnement du template, avec un petit près traitement extract() avec le flag EXTR_IF_EXISTS ça force à avoir une déf de la variable avec une valeur par défaut, et permet de filtrer ce qu'on veut pas passer.