28
les bonnes pratiques Sylvie Clément alias Oelita Le développeur pragmatique vs

Wordcamp paris 2015 dev-pragmatique-bonnes-pratiques

Embed Size (px)

Citation preview

les bonnes pratiques

Sylvie Clémentalias Oelita

Le développeur pragmatique

vs

Le pourquoi du comment

Ingénieure

20 ans en DSI

Méthodes pour 100 développeurs

§ Mère de 5 enfants

§ Créatrice et admin de sites web depuis 15 ans

§ Freelance

Le pourquoi du comment

Avant, j’avais des principes.Maintenant, j’ai des enfants.

Avant, j’avais des méthodes.Maintenant, j’ai des clients.

Les bonnes pratiques

Des normesDes conseilsDu partage

d’expérience

Des guidesDes Codex

Des tutorielsDes livresDes sites

Des articles

Les bonnes pratiques

souvent proposées par des développeurs de plugins/thèmes,

ou par des gens qui travaillent en équipe.

Et si on travaille en solo

pour l’unique site d’un client ?

Le pragmatisme

Réalité du quotidien

Recherche de l’efficacité

Adaptation à son propre contexte

Le pragmatisme

Chercher, écouter

Comprendre les arguments

Evaluer l’intérêt pour soi

Match ou équilibre ?

Concret

Coût

Court terme

Confort

Théorie

Risques

Long terme

Rigueur

Objectifs Qualité

Productivité

Evolutivité

Réutilisabilité

Maintenabilité

Sécurité

Future-proof ?

8exemples autour de la

Gestion du code

ne pas toucher au « core »

Les répertoires de WordPress sont les suivants :/wp-admin/wp-includes/wp-content

/plugins/themes/uploads

« ne jamais modifier un fichier WordPress, ce sera écrasé à la prochaine mise à jour »

core

1

ne pas toucher au « core »

Vrai aussi pour le code des plugins et celui des thèmes !

Mettre à jour les

versions de WP et des

plugins

Et utilisez hooks et actions…

1

faire des thèmes Enfants

Mettre à jour le thème parent

Isoler / identifier les personnalisations apportées

« ne pas modifier un thème existant, mais y ajouter un thème enfant »

2

faire des thèmes Enfants

Simple à faireMais ajoute une surcouche

A privilégier pour les

« gros » thèmes,

Ou des modifs mineures

2

pas de fonctionnel dans le thème

L’approche MVC… Modèle Vue Contrôleur

Pouvoir découpler présentation et traitements/données

Pour les Custom Post Type, taxonomies, shortcodes

« le fonctionnel doit aller dans un plugin, et le design dans un thème »

http://davidbhayes.com/talks/theme-creep/

3

pas de fonctionnel dans le thème

Qui s’amuse à changer de thème avec des CPT ?Les deux sont liésSi on n’a pas une équipe avec intégrateur

Découpler modèles et

functions.php

3

le copier-coller, c’est le mal

On doit faire évoluer la même chose à plusieurs endroits.

Il peut y avoir des différences de contexte qui vont créer des bugs.

Copier des bouts de code exterieurs

« tout code dupliqué est source de problèmes : DRY ! »

4

le copier-coller, c’est le mal

Factoriser : inc de templates, functions.php, mu-pluginsNe pas multiplier les paramètres ou options…

Factoriser au maximum

à l’intérieur d’un projet

Se créer une bibliothèque

4

pas de requête SQL en direct

Le modèle SQL peut changer avec les versions.

Moins sécurisé.

Maîtriser le modèle et les impacts.

« toujours passer par les fonctions et API WordPress»

5

pas de requête SQL en direct

Les modèle ET les fonctions peuvent changer… Souvent plus performant pour des SELECT complexes.

A réserver aux cas

difficiles

5

toujours faire des sauvegardes

Les fichiers ET la base de données

Régulièrement

A plusieurs endroits

Les vérifier

« après, c’est trop tard »

6

Régulièrement ET avant chaque intervention.L’historique peut être utile.

Des outils existent pour

faciliter la tâche

toujours faire des sauvegardes6

versionner son code

Permet de travailler en équipe

Produit des versions claires

Permet le retour en arrière

Sert également de sauvegarde

Synchronisation d’environnements

« la gestion des sources via un outil de type Git »

7

Beaucoup moins utile en solo qu’en équipe.On peut s’organiser sans outil lourd. Les retours en arrière sont rares.

Si vous en avez

l’habitude

versionner son code7

commenter son code

Notre mémoire a ses limites

La doc peut être semi-automatique

PHPDoc + « Make PHP code self-explaining with PHPXref »

« la doc permet de mieux comprendre le code quand on s’y remet »

8

Répéter le code ?Les éditeurs de texte sont efficaces en recherches. La doc humaine !

Documenter le comment

et le pourquoi,

En français

commenter son code8

Perfectionnisme ou pragmatisme ?Expérience des autres / Son propre contexte

S’informer, évaluer, décider

Concret

Coût

Court terme

Confort

Théorie

Risques

Long terme

Rigueur

@Oelita