Sylvain Rumeu Profile picture
Aug 11 11 tweets 4 min read Read on X
Petit thread conseils de programmation du matin :
- Les contrôles, c'est pour les nazes, partez du principe que vos utilisateurs sont intelligents, et ne viendront pas mettre n'importe quoi dans les saisies. Point en plus si la cohérence des données n'est pas respectée
int parts(double total, double diviseur) {     return total / diviseur; }
- Utilisez un maximum de commentaires pour perdre vos utilisateurs. Le commentaire doit être très détaillé même s'il n'apporte rien à la compréhension. Point en plus, le commentaire est faux, ou artificiellement long par exemple en faisant des lignes courtes. /*   Cette fonction est    utilisée pour   prendre deux nombres   et appliquer   une opération    consistant à donner   le nombre total    d'éléments lorsque   l'on met ensemble   ces éléments   Par exemple,    si on met ensemble   3 éléments d'un    côté et 2 éléments   de l'autre, la    fonction doit   renvoyer "5" */  int ajoute_element(int a, int b) {     return a * b; }
- Redéfinissez des fonctions qui existent déjà pour les rendre plus lentes. Le jour où on vous demandera d'optimiser votre code, vous n'aurez qu'à mettre une version légèrement plus rapide pour faire le fanfaron. double addition(int a, int b) {     double add = (b >= 0) ? 1.0 : -1.0;     for (int i = 0; i < abs(b); ++i)     {         a = a + add;     }     return (double)a; }
- Les noms de variables doivent être écrites en franglais, mais pas tout le temps, pour ne pas fatiguer le cerveau des collègues. Point bonus : redéfinir des choses qui existent déjà. Point bonus prime : les redéfinir fausses. #define FAIL 0  int main(int argc, char *argv[]) {     bool isValide = false;     int nombreTowel = 0;      std::cout << "Il y a " << nombreTowel << " serviettes" << std::EOL;      return FAIL; }
- Maximiser le nombre de variables globales, comme ça, le jour où une donnée se met à jour sans comprendre, vous n'aurez plus qu'à localiser les variables pour supprimer un bug et passer pour un bon développeur. Point bonus : les noms de variables sont génériques. int var1 = 12; int var2 = 15;  void f1() {     var1 = 17; }  void f2() {     var2 = var1;     // var2 = 12 }  int main(int argc, char *argv[]) {     f1();     f2();      std::cout << "var2 doit valoir 12, vu que var1 est définie à 12 et f2 met la valeur de var1 dans var2 : "                << var2                << std::EOL;      return 0; }
- Définir des noms de variables explicites faux. Vous serez le seul à pouvoir débugguer votre code. int getTowel() {     return 42; }  int main() {     int nbMop = getTowel();     std::cout << "Il y a " << nbMop << " cuillères dans le placard." << std::EOL; }
- L'indentation c'est important. Soyez incohérrent. Parfois une tabulation, parfois des espaces. Pas le même nombre d'espaces à chaque fois. Point bonus : vous avez un validateur de code qui contrôle la qualité du code, et il n'a rien vu. int getTowel() {     return 42; }  int main() {     int nbMop = getTowel();     std::cout << "Il y a " << nbMop << " cuillères dans le placard." << std::EOL; }  Sur l'image, la première indentation est composée de 4 espaces, la deuxième d'une tabulation, la toisième qui devrait être alignée avec la 2ème, seulement 2 espaces. L'IDE est configuré à 4 espaces pour une tabulation.
- Utilisez des traces plutôt qu'un débugger, ça va plus vite. N'oubliez pas de laisser traîner les traces une fois le code validé. Point bonus : utilisez la sortie standard, plutôt que la sortie d'erreur. Point bonus : vous cassez un formatage ou foutez en l'air une config int f1() {     std::cout << "ttt" << std::EOL;     return 42; }  int f2() {     std::cout << "ttt" << std::EOL;     return 84; }  int f3() {     std::cout << "+-------------+-------------+" << std::EOL               << "|      f1     |      f2     |" << std::EOL               << "+-------------+-------------+" << std::EOL               << "| " << std::setw(11) << f1() << " | " << std::setw(11) << f2() << " |" << std::EOL               << "+-------------+-------------+" << std::EOL; }
Si vous suivez mes conseils, restez incohérents au maximum. Quand vous aurez réussi à appliquer tous ces conseils, il y a 2 conséquences possibles :
- Plus personne ne voudra bosser avec vous, vous serez tranquille dans votre coin.
- Le jour de votre départ, quelqu'un devrait dire "Je ne comprends rien, je pense que je vais tout réécrire de zéro". Sauf que le chef de projet n'aura pas assez de temps à allouer à une réécriture, et on vous rappellera à un salaire supérieur.
@threadreaderapp unroll

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Sylvain Rumeu

Sylvain Rumeu Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(