Ce document peut être révisé ultérieurement.
La base de code augmente considérablement au fur et à mesure du développement d'un projet, en fonction de son objectif et de son type. Une base de code incohérente compromet la lisibilité et la maintenabilité, ce qui nuit à la productivité personnelle ou à celle de l'équipe.
Les normes de programmation peuvent ne pas être nécessaires pour les bases de code à usage unique. Le respect d'un guide de style de programmation est nécessaire pour éviter les incohérences de la base de code et entrer dans l'enfer du débogage.
Le code propre n'existe pas, et c'est un conte de fées parce que la perception du code propre est subjective pour les individus ou les équipes. Le but de ce document est d'éviter d'écrire du code illisible et de ne pas suivre religieusement le code propre.
Un exemple simplifié de code obfusqué et profondément imbriqué)
#include <iostream>
#include <cstdlib>
void mergeSort(int *arr, int l, int r) {
if (l < r) {
int m = l + (r - l) / 2;
mergeSort(arr, l, m);
mergeSort(arr, m + 1, r);
int n1 = m - l + 1;
int n2 = r - m;
int *L = (int*) malloc(n1 * sizeof(int));
int *R = (int*) malloc(n2 * sizeof(int));
for (int i = 0; i < n1; i++) L[i] = arr[l + i];
for (int j = 0; j < n2; j++) R[j] = arr[m + 1 + j];
int i = 0, j = 0, k = l;
while (i < n1) {
if (j < n2) {
if (L[i] <= R[j]) {
arr[k] = L[i];
i++;
} else {
arr[k] = R[j];
j++;
}
} else {
arr[k] = L[i];
i++;
}
k++;
}
while (j < n2) {
arr[k] = R[j];
j++;
k++;
}
free(L);
free(R);
}
}
De nombreux guides de style et conventions de programmation C++ bien documentés, tels que le guide de style de Google et le standard de codage d'Unreal, sont disponibles en ligne. Malgré leur disponibilité, apprendre les raisons qui sous-tendent les règles est inestimable.
C++ Coding Standards | Pope's Dev Docs