View on GitHub

club-lecture

Mise en forme

l’élégance, la cohérence et l’attention portée aux détails

règles simples, les appliquer systématiquement

Objectif de la mise en forme

important, moyen de communication

“faire en sorte que cela fonctionne” n’est pas la priorité: fonctionnalités changent, lisibilité du code a un impact sur les modifications, facilité de maintenance et extension du code

établir un précédent

Mise en forme verticale

très variables, quelques dizaines de lignes a plusieurs milliers

taille des fichiers pas forcément en relation avec la taille des projets

Petits fichiers plus simples à comprendre

Déclarations de variables

déclarées au plus près de leur utilisation.

Rare cas d’exception ?

Variables d’instance

Java: au début de la classe. C++: a la fin.

Fonctions dépendantes

proches verticalement, appellant avant appellées

Affinité conceptuelle

appelant/appelées, fonctions qui réalisent une opération semblable

Rangement vertical

Mise en forme horizontale

80 caractères arbitraires, mais conserver des lignes pas trop longue (100, voire 120)

Espacement horizontal et densité

espace dans une ligne

Alignement horizontal

auteur préféré non aligné

Indentation

hiérarchisation

permet de lire rapidement par blocs de code

==> python obligatoire

Rompre l’indentation

auteur ne préfère pas le code sur une ligne

Portées fictives

préférer des accolades vides plutot qu’un point virgule seul

Règles d’une équipe

suivre les règles de l’equipe

rester coherent

questions

séparer commit mise en forme et changement dans le code ?

A qui est destinée la déclaration de la classe ? Au l’utilisateur = mettre dans l’ordre public, protected et private

Java: pas de separation interface/implementation. Fichier destinée aux utilisateurs et concepteurs de la classe. C++ = separation