![]() |
Bienvenue invité ( Connexion | Inscription )
![]() |
![]()
Message
#1
|
|
![]() Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 4 690 Inscrit : 28 Nov 2001 Lieu : Pas loin du grand pic qu'on surnomme Tour Eiffel Membre no 1 440 ![]() |
Bonjour à tous,
Nous voyons souvent sur ce forum des sujets demandant comment débuter en programmation, ou quel langage pour débuter. Ici je voudrais traiter d'un sujet connexe mais peu (pour ne pas dire pas) abordé: les méthodes et bonnes pratiques de programmation, indépendamment du langage. Connaître un (voire plusieurs) langages de programmation est certes important pour programmer. Mais en dehors de sa syntaxe et grammaire, il y a plein de choses qui viennent en amont et qui permettent de coder plus vite ou plus efficacement. Certains points seront bien sûr sujets à de controverses, donc je demande par avance aux représentants des divers courants de pensée en conflit de présenter leurs arguments SANS rentrer dans des débats sans fin. Vous l'aurez compris, je demande votre participation pour enrichir ce fil, car je ne prétend pas avoir la science infuse ni tous les bons conseils à donner. Ceci étant dit, voici un liste non exhaustive pour commencer: Réfléchir au problème et le modéliser avant de coder. Je citerai encore un de mes profs: "Le plus tôt vous commencez à coder, le plus tard vous finirez". Quand vous avez un nouveau programme à résoudre, commencez par le découper en boites gérant une partie de votre code de la façon la plus autonome des autres. Déroulez votre programme à la main sur une feuille de papier en pensant à tous les cas de figure qui peuvent se produire. Il n'y a qu'une fois que vous avez ce squelette clair dans votre tête que vous pouvez commencer à le coder. Nommez de façon propre vos variables et vos fonctions. D'une part, il faut que le nom soit en rapport avec ce que fait la variable/fonction (évitez var1, var2, toto, titi, tmp). D'autre part, prenez une convention de nom et tenez-vous y. Certain langages imposent une convention genre maFonction, MaClasse. D'autres ce sera ma_variable. Pour ceux qui n'en imposent pas, choisissez-en une. Des commentaires utiles! Inutile de raconter un roman pour décrire une fonction. Pour un commentaire de fonction dites en 2 lignes maximum ce qu'elle fait (si ça tient pas sur 2 lignes, c'est que votre fonction est trop compliquée et qu'il faut la découper pour faire plus simple) puis dire ce qu'on attent en arguments et quelle est la valeur de retour, en explicitant les valeurs particulières genre: "retourne la valeur de A, ou null en cas d'erreur" Pour des commentaires de code, ne paraphrasez pas le code, c'est inutile, ça fait perdre du temps et à vous et au lecteur! Dites plutôt ce que vous voulez en faire: Code //Commentaire inutile: si a égal b ou b égal c if(a == b || c==b) Code //Commentaire utile: si b appartient à l'ensemble if(a == b || c==b) Vous n'avez pas besoin de tout commenter, je dirait que commenter les fonctions et les passages difficiles c'est suffisant si le code a été bien découpé en fonctions. Avoir des notions d'algorithmique pour optimiser ses programmes Faire des test unitaires Indenter proprement son code -------------------- Mordu de Mac depuis 1996, avec un Performa 6230CD sous Mac OS 7.5.1. Depuis l'extinction de Steve Jobs, le logiciel libre se fait de plus en plus présent dans ma vie numérique.
|
|
|
![]() |
![]()
Message
#2
|
|
Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 2 486 Inscrit : 29 Aug 2002 Membre no 3 340 ![]() |
Dans ce cas, il faut une API du style boolean isNiveauDeTraceSuffisant(int niveauSouhaite);
Les Loggers ont des primitives Logger.isDebugEnabled() dans ce même but. A propos des remplacements multiples, c'est une illustration du proverbe que je cite souvent : Un programmeur est un paresseux qui travaille beaucoup. Par paresse, il va se donner la peine de trouver l'expression régulière qui va magiquement remplacer son motif dans toutes les configurations les plus tordues. Ce proverbe n' est pratique que si on se demande "Mais que ferait un bon programmeur dans cette situation ?" Il va étudier et retenir tous les trucs tordus, qui parfois vont lui faire gagner 10% du temps. C'est pour cela qu'il apprend toutes les commandes de <choississez l' éditeur que vous détestez le plus> Au passage, des trucs d'édition... Qui connaît la commande "deep" dans vi ? de : delete to the end e : go to the end p : paste colle à droite du curseur Elle permute deux mots. et xp ? "xp" fait la même chose pour 2 caractères x : delete du caractere sous le curseur, qui se trouve maintenant sur le caractère suivant p : paste colle à droite du curseur Et puisqu'on est sur le sujet des recherches, la commande vi pour remplacer tous les x par y, partout dans la ligne :g/x/s//y/g Le premier g est pour indiquer toutes les lignes, le dernier pour "partout dans la ligne", si on l' oublie, seul le premier remplacement est fait dans la ligne. Le s c'est pour substituer C'est la version simplifiée de remplacer tout les x par des y, partout dans les lignes où se trouve z :g/z/s/x/y/g La forme compliquée de la première serait : sur toute lignes où il y a x, remplacer x par y. Du fait que le motif de recherche des lignes est aussi le motif à remplacer, on peut l'omettre après le s. J'ai appris tout ça par paresse... J-P Ce message a été modifié par Jaypee - 28 Jul 2009, 20:11. |
|
|
![]() ![]() |
Nous sommes le : 18th July 2025 - 05:28 |