Les principes de programmation les plus étranges dont vous n'avez jamais entendu parler

Les principes de programmation les plus étranges dont vous n'avez jamais entendu parler / La programmation

Nous vous avons déjà expliqué les principes de programmation les plus essentiels. 10 principes de programmation de base que chaque programmeur doit suivre. 10 principes de programmation de base que tout programmeur doit suivre. Écrivez toujours du code pouvant être conservé par toute personne susceptible de travailler sur votre logiciel. À cette fin, voici plusieurs principes de programmation pour vous aider à nettoyer votre acte. En savoir plus sur ce que vous devez savoir, mais il existe une autre catégorie de principes de programmation qui peut encore plus bénéfique que celles.

Considérant que les principes susmentionnés vous enseignent comment être intelligent avec votre code, les principes suivants vous apprendront à être sage avec votre code. Certains d'entre eux sont étranges, et beaucoup sont humoristiques, mais ils sont tous aussi pratiques et importants. Prenez garde!

1. Le principe du ballonnement

Celui-ci a tellement de variations qu'il est difficile d'en choisir une comme principale. Peut-être le plus “officiel” version est la loi de l’enveloppement logiciel, plus communément appelée Loi de Zawinski, nommé d'après Jamie Zawinski et mentionné dans L'art de la programmation UNIX:

“Chaque programme tente de se développer jusqu'à ce qu'il puisse lire le courrier. Les programmes qui ne peuvent pas être développés sont remplacés par des programmes pouvant.”

Il parle de la tendance des programmes à attirer de plus en plus de fonctionnalités au fil du temps et à évoluer inévitablement vers une complexité croissante. Vous savez peut-être ceci fluage des fonctionnalités, qui est l'ajout en cours de nouvelles fonctionnalités qui n'ont rien à voir avec l'objectif principal du programme. Le fluage conduit à gonfler, et le ballonnement est souvent indésirable.

Cela peut également s'appliquer à la performance logicielle:

“Le logiciel se développe pour consommer toutes les ressources disponibles.”

Dans les années 90, les disques durs, les processeurs et la RAM étaient bien plus restrictifs qu’aujourd’hui et les programmeurs ont travaillé dur pour s’adapter au mieux de leurs possibilités. Cependant, maintenant que nous avons des disques plus gros, des processeurs plus rapides et plus de RAM, nous avons toujours du mal à respecter nos limites. Tout se gonfle avec le temps. C'est à vous de garder ça en échec.

2. Le “Pire c'est mieux” Mentalité

Presque comme si en réponse au principe de ballonnement, nous avons le Pire est une meilleure mentalité, Richard P. Gabriel a été créé pour la première fois dans un essai sur la qualité des logiciels:

“Un logiciel limité, mais simple à utiliser, peut être plus attrayant pour l'utilisateur et le marché que l'inverse..”

En d'autres termes, il est sage de comprendre la un problème votre logiciel vise à résoudre et ensuite être très bon à cette une chose. Rester simple. Plus vous vous éparpillez, plus le projet devient ingérable et indésirable pour les utilisateurs..

Qu'est-ce qui se passe quand vous ignorez cela? Vous vous retrouvez avec le Logiciel Peter Principle:

“Un projet trop complexe finira par devenir trop complexe pour être compris même par ses propres développeurs..”

Cela vient du principe plus général de Peter, qui stipule que lorsque des employés sont promus en fonction de leur compétence actuelle et non de la compétence attendue lors de leur prochain poste, tous les employés finissent par se retrouver dans une position d'incompétence. Prenez ce principe et appliquez-le au logiciel, et vous verrez pourquoi un logiciel pire peut souvent être meilleur.

3. Loi d'Eagleson

“N'importe quel code que tu n'as pas regardé depuis six mois ou plus aurait aussi bien pu être écrit par quelqu'un d'autre.”

Ce dicton apparemment démotivant est réellement quelque chose à embrasser. Le fait est que personne n'est parfait. Vous pourriez penser que vous êtes un programmeur de génie en ce moment, mais il y a toujours quelque chose de plus que vous pouvez apprendre, toujours plus de place pour grandir. Si vous vous souvenez de vieux code et de grincements dentaires, cela signifie probablement vous avez appris quelque chose de nouveau depuis.

En d'autres termes: si vous regardez un ancien projet et que vous ne voyez rien que vous puissiez améliorer ou ferait différemment la prochaine fois, vous avez probablement stagné en tant que programmeur..

4. Principe du moindre étonnement

“Si une caractéristique nécessaire a un facteur d’étonnement élevé, il peut être nécessaire de la revoir..”

Publié pour la première fois dans le IBM Systems Journal en 1984, ce principe est toujours étonnamment pertinent aujourd'hui - peut-être plus que jamais.

Il touche essentiellement au délicat équilibre entre innovation et familiarité: si un logiciel est trop différent des autres du genre et ne correspond pas aux attentes des utilisateurs, alors ils ne vont probablement pas l'adopter. Il est préférable de s'efforcer d'obtenir des améliorations progressives suffisamment importantes pour être impressionnantes, mais suffisamment petites pour rester familier..

5. Loi de l'entomologie cybernétique

“Il y a toujours un bug de plus.”

Souvent appelé Loi de Lubarsky sur l'entomologie cybernétique, on ne sait pas qui est ce Lubarsky. Cependant, son principe est valable pour tous les programmeurs: peu importe la précision avec laquelle vous écrivez votre code, peu importe la robustesse avec laquelle vous testez vos modules, quelle que soit la fréquence de refactorisation de vos classes, il y aura toujours un autre bug.

D'une certaine manière, c'est un principe libérateur. Alors que nous devrions certainement lutter pour un code sans bug, il est également important de rappeler que le perfectionnisme est l’ennemi du bien. Cherchez les bugs, corrigez-les quand ils se présentent, puis passez à autre chose.

6. Loi de Kernighan

“Le débogage est deux fois plus difficile que d'écrire le code en premier lieu. Par conséquent, si vous écrivez le code aussi intelligemment que possible, vous n'êtes pas, par définition, assez intelligent pour le déboguer..”

Brian Kernighan, le même qui a co-écrit la bible du langage de programmation C Pourquoi la programmation C vaut toujours la peine d'être apprise Pourquoi la programmation C vaut encore la peine d'être apprise C n'est pas une langue morte. En fait, le magazine IEEE Spectrum l'a classée comme la deuxième langue la plus parlée en 2017. Voici cinq raisons. Lire la suite, est célèbre pour cette loi perspicace. Le point crucial est le suivant: écrire bien code, écris lisible code, écris simple code, rien tant que ce n'est pas intelligent code.

Essayer de faire travailler vos muscles de programmation avec la complexité d'une tour d'ivoire est l'exact opposé de ce que signifie écrire du code propre et de meilleure qualité. 10 astuces pour écrire du code plus propre et mieux 10 astuces pour écrire du code plus propre et mieux mais les avantages en valent la peine. Voici comment vous pouvez commencer à écrire du code plus propre aujourd'hui. Lire la suite . Plus votre code est difficile à comprendre, plus il sera difficile de déboguer lorsqu'il tombera inévitablement.

Et comme l'explique Robert C. Martin, il ne s'agit pas uniquement de déboguer:

“En effet, le ratio temps passé à lire et à écrire dépasse largement 10 pour 1. Nous lisons constamment du vieux code dans le cadre de l’effort d’écrire du nouveau code… [Par conséquent, le fait de faciliter la lecture facilite la lecture..”

7. Débogage de canards en caoutchouc

Celui-ci n'est pas tant un principe que c'est une technique, mais il est tellement utile et étrange que nous serions négligent de le laisser de côté.

D'abord dit dans Le programmeur pragmatique, débogage de canard en caoutchouc C'est quand vous déboguez un logiciel cassé en expliquant votre code à un objet inanimé (un canard en caoutchouc, par exemple), ligne par ligne. Cela fonctionne parce que l'acte d'explication déclenche différentes parties de votre cerveau, et vous êtes plus susceptible de repérer des incohérences et de déterminer où vous vous êtes trompé..

Pour cette raison, un canard en caoutchouc peut être un cadeau étonnamment astucieux pour les programmeurs. Les meilleurs cadeaux Geek pour les programmeurs: 20 idées pour les codeurs et les nerds Les meilleurs cadeaux geek pour les programmeurs: 20 idées pour les codeurs et les nerds Vous cherchez un cadeau pour un programmeur? Voici les meilleurs cadeaux geek, allant des claviers mécaniques aux bureaux debout, etc. En savoir plus, que vous l'achetiez pour vous-même ou pour l'un de vos amis de programmation.

8. La règle des quatre vingt dix quatre vingt dix

“Les premiers 90% du code représentent les 90% premiers du temps de développement. Les 10% restants du code représentent les 90% restants du temps de développement..”

Ce petit proverbe effronté de Tom Cargill explique pourquoi la programmation peut être si frustrante: peu importe à quel point vous pensez être en train de finir beaucoup plus loin que même vos meilleures estimations. Quand on pense avoir fini, on n'est qu'à mi-chemin.

Cela va de pair avec la loi de Hofstadter:

“Cela prend toujours plus de temps que prévu, même en tenant compte de la loi de Hofstadter.”

9. Loi de Parkinson

“Les travaux se développent de manière à combler le temps disponible pour son achèvement.”

Ce principe, inventé par Cyril Northcote Parkinson, est un principe plus général qui s’applique parfaitement à la programmation et va de pair avec la règle des quatre-vingt-dix-quatre-vingt-dix ci-dessus: quel que soit le temps que vous avez pour terminer un projet, il faudra exactement combien de temps. En développement logiciel, “finir tôt” est à peu près un mythe.

La loi de Parkinson est la raison pour laquelle des délais appropriés sont cruciaux si vous souhaitez terminer et expédier votre logiciel. C’est pourquoi les programmeurs professionnels modernes recommandent souvent des principes de gestion de projet agiles. Comment utiliser les principes de gestion de projet Agile pour organiser votre vie. Comment utiliser des principes de gestion de projet Agile pour organiser votre vie. Agile, mieux connu en tant que méthode de gestion de projet, est un excellent cadre pour la gestion de vos projets. vie privée. Nous vous montrerons quels principes vous pouvez emprunter - téléchargement gratuit de la feuille de calcul incluse! En savoir plus et des outils de gestion de projet tels qu'Asana Trello vs Asana: le meilleur outil gratuit de gestion de projet est… Trello vs Asana: le meilleur outil gratuit de gestion de projet est… Choisir entre Trello et Asana est difficile. Nous comparons ici les plans gratuits et vous aidons à choisir l’outil de gestion de projet le mieux adapté à votre équipe. Lire la suite .

10. Loi de Brook

“L'ajout de main-d'œuvre à un projet logiciel en retard le rend plus tard.”

La prochaine fois que vous êtes en retard sur un projet, ce qui est probable, car la plupart des projets de programmation nécessitent plus de temps que prévu, rappelez-vous que l'ajout de codeurs ne résoudra pas le problème plus rapidement..

En fait, ça va probablement prendre plus long compléter. Non seulement vous devez mettre le ou les nouveaux codeurs à niveau, mais ils vont probablement se heurter aux codeurs existants. Plus de choses devront être documentées, plus de bureaucratie sera nécessaire pour que tout le monde reste sur la même page, et plus de frictions résulteront de l'expérience de la crise..

Aller de l'avant en tant que programmeur

Maintenant que vous connaissez ces principes, vous êtes mieux adapté pour le monde réel de la programmation, pas seulement ce que vous avez rencontré à l’école, dans un cours Web ou dans un bootcamp. Ces principes proviennent d'années et d'années d'expérience et d'échecs.

Avec cette nouvelle sagesse, vous pouvez maintenant vous lancer dans une carrière en programmation très demandée. 10 emplois en programmation informatique en demande actuellement 10 emplois en programmation informatique en demande maintenant Depuis l'obtention d'un emploi en programmation peut être difficile dans le paysage actuel, Pensez à vous concentrer sur l’une des concentrations suivantes pour améliorer vos chances de réussite. Lisez plus avec des attentes plus réalistes. Pour cela, apprenez à maximiser vos opportunités de carrière en programmation. Comment améliorer vos opportunités de carrière en programmation. Comment améliorer vos opportunités de carrière en programmation. Si vous espérez commencer, recommencer ou améliorer d’une autre manière votre carrière de programmation, ce n’est pas facile. Si vous êtes au collège, le moment est venu. Voici quelques conseils qui peuvent vous mener loin. Lire la suite . Et si vous décidez que la programmation n'est pas faite pour vous, ne vous inquiétez pas - envisagez plutôt l'un de ces emplois techniques non codants. Le codage n'est pas pour tout le monde: 7 emplois techniques que vous pouvez obtenir sans elle Le codage n'est pas pour tout le monde: 7 Des emplois techniques que vous pouvez obtenir sans cela Ne vous découragez pas si vous souhaitez faire partie du domaine technologique: de nombreux emplois sont proposés aux personnes qui ne savent pas coder! Lire la suite .

Lequel de ces principes vous semble-t-il le mieux? Connaissez-vous d'autres principes de programmation étranges que nous avons manqués? Faites-nous savoir dans les commentaires ci-dessous!