Sous-programme

Définition, exemples et bonnes pratiques

À retenir

  • Permet de ne pas se répéter (principe DRY : Don't Repeat Yourself).
  • Facilite la correction des erreurs : si le calcul est faux, on ne le modifie qu'à un seul endroit.
  • Rend le programme principal beaucoup plus court et lisible.

Un sous-programme est un bloc d'instructions isolées du reste du code pour accomplir une mission précise et répétitive. On peut l'imaginer comme une recette de cuisine spécifique (par exemple, 'faire une pâte feuilletée') que l'on range dans un classeur pour pouvoir la ressortir à chaque fois qu'un gâteau en a besoin, évitant ainsi de réécrire les mêmes étapes inutilement.

Étymologie

Le terme est apparu au XXe siècle avec l'essor de la programmation structurée. Il utilise le préfixe sous- pour marquer la dépendance hiérarchique : c'est un programme secondaire qui travaille au service d'un programme principal. Aujourd'hui, on utilise plus volontiers les termes de fonction ou de méthode.

Exemples d'usage

  • Une fonction calculer_prix_ttc() appelée à chaque fois qu'un client ajoute un article dans son panier.
  • Un petit bloc de code chargé de vérifier si un mot de passe contient bien un chiffre et une majuscule.
  • Une routine qui formate une date pour qu'elle s'affiche correctement sur un écran.

Cas d'usage

Le sous-programme intervient dès qu'une tâche doit être effectuée plusieurs fois ou lorsque le code devient trop long et difficile à lire. Il est omniprésent dans tous les langages de programmation (Python, Java, C++, JavaScript) pour organiser la logique logicielle de manière modulaire.

Bonnes pratiques

Il est recommandé de suivre le principe de responsabilité unique : un sous-programme ne doit faire qu'une seule chose, mais la faire parfaitement. Donnez-lui un nom clair qui commence par un verbe d'action pour que n'importe qui comprenne son rôle sans avoir à lire le détail du code.

Synonymes

fonction procédure routine méthode module

Antonymes

programme principal code monolithique

Conseil

Si vous écrivez plus de deux fois la même suite d'instructions dans votre code, c'est le signal qu'il est temps de créer un sous-programme. C'est la base pour passer du statut de débutant à celui de développeur organisé.

Questions fréquentes

Quelle est la différence entre un sous-programme et une fonction ?

Le sous-programme est le terme général. Une fonction est un sous-programme qui renvoie une valeur (un résultat), tandis qu'une procédure exécute simplement des actions sans rien renvoyer.

Un sous-programme peut-il s'appeler lui-même ?

Oui, c'est ce qu'on appelle la récursivité, une technique puissante mais qui demande de la prudence pour éviter les boucles infinies.