|
Publicité ' | ||||||||||||||||||||||||
|
|
#101 | |||||||
|
Candidat au titre de Membre du Club
![]() LoveMetal Inscription : janvier 2012 Messages : 15 ![]() |
Pour la clarté du code, je m'étais pas relu et c'est effectivement assez difficile à comprendre, n'ayant fourni aucune explications (j'aurais peut-être pas dû poster à 3 heures du mat' aussi) et je m'en excuse; je vais refaire un paragraphe explicatif.
Citation:
Voici quand même un lien qui résume assez bien la demoscene (le concept) et le lien d'une demo 64k très impressionante. Reprenons ce code et tout ce qui va avec... Déjà la fonction inline : c'est une directive du langage C++ que l'on peut placer devant une fonction. Exemple : Code Sans inline :
Code Avec inline :
Quel est son but ? Et bien dès que le compilateur convertira le code source en binaire, au lieu de compiler la fonction dans un coin de l'exécutable et de faire un renvoi vers cette fonction à chaque fois qu'elle est appelée (comme ça se passerait dans le premier code); la fonction sera recompilée à chaque fois à l'endroit où elle est appelée. Si vous n'avez toujours pas compris, allez voir ici, le gars est assurément beaucoup plus pédagogue que moi .Quel est son utilité ? Pour un programme de base, il n'y en a pas vraiment, mais pour les demomakers, il y en a une de taille. Prenons une des bases de la demoscene : faire le plus de choses en le moins d'espace possible. Et bien avec cette fonction, on pourrait croire que l'exécutable prendrait plus de place étant donné que la fonction est recompilée à chaque fois qu'elle est appelée; le truc c'est que les demomakers utilisent des compresseurs très puissants tels que kkrunchy, et si la fonction est répétée plusieurs fois, alors autant de fois kkrunchy la compressera. Comprenez-vous déjà un peu mieux ? Revoici le shéma du code écrit plus lisiblement : Code :
|
|||||||
|
|
61
|
|
|
#102 | ||||
|
Membre émérite
![]() Frédéric BruyèreChef de projet NTIC Inscription : novembre 2008 Messages : 135 ![]() |
Code php :
et plus bas: Code php :
__________________
"Le premier venu peut écrire du code qu'un ordinateur peut comprendre. Les bons programmeurs écrivent du code que les humains peuvent comprendre." "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler) |
||||
|
|
30
|
|
|
#103 | |||
|
Membre Expert
![]() ![]() Grand Timonier des Chats Inscription : décembre 2011 Messages : 610 ![]() |
Citation:
![]() En plus, comme chacun le sait, l'optimisation prématurée est la source de tous les maux: éviter le cast sur une variable de type connu serait une optimisation, donc ton collègue a fait des casts inutiles pour s'épargner les maux d'une optimisation prématurée
|
|||
|
|
101
|
|
|
#104 | ||
![]() ![]() Cyrille Network programmer Inscription : juin 2010 Messages : 1 543 ![]() |
Une fonction pour supprimer d'un vector selon un paramètre :
Code :
|
||
|
|
00
|
|
|
#105 | ||
|
Expert Confirmé
![]() Tlouye Ci Inscription : mars 2004 Messages : 1 800 ![]() |
Un code sur lequel je viens de tomber dans un fichier XSL (pour info, c'est le seul template présent dans le fichier) :
Code XML :
Apparement le développeur devait être indécis sur la langue à utiliser pour les variables... |
||
|
|
00
|
|
|
#106 |
|
Invité de passage
![]() |
dans le code d'un collegue :
Code :
select id_coli into v_exsist_init from colis where id_coli = null; :massacre: |
|
|
10
|
|
|
#107 | ||
|
Expert Confirmé Sénior
![]() ![]() Inscription : août 2004 Messages : 3 665 ![]() |
Je suis tombé sur une fonction pas mal l'autre jour:
Code :
Et je dois maintenir ça... |
||
|
|
30
|
|
|
#108 |
|
Membre Expert
![]() thomas Ingénieur développement logiciels Inscription : mai 2005 Messages : 807 ![]() |
Ça va, j'ai connu pire, une application C#, d'environ 5 000 lignes, où TOUT était dans le main, sans commentaires et avec des noms de fonctions et de variables du style var1, var2, i,j,k ...
En survolant vite fait ton exemple de code, il me semble que les commentaires ont l'air utiles et les variables à peu prés correctement nommées. Après, il faut que je le lise plus attentivement pour voir s'il aussi compréhensible qu'il le parait.
__________________
il n'y a jamais eu qu'un seul chrétien et il est mort sur la croix Friedrich Nietzsche L'homme est un apprenti, la douleur est son maitre Alfred de Musset pour les problèmes de partition, les derniers recours sont testdisk et le formatage bas-niveau pour faire le menage efficacement sur vos DD, utilisez Ccleaner |
|
|
41
|
|
|
#109 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : août 2004 Messages : 3 665 ![]() |
C'est vrai qu'il y a pire, mais tout de même:
- une fonction template de plus de 300 lignes (l'analyseur syntaxique n'y a pas survécu! Et SRP dans tout ça? Et va implémenter des test unitaires là-dessus...) - des classes déclarées et implémentées au sein de la fonction (dans une boucle, qui plus est) - un mélange de C et de C++ (du malloc, du free, du template, du printf, du cout...) - openMP utilisé sauvagement en plein milieu (ce qui rend illusoire toute tentative de profiling) - des pointeurs dans tous les sens avec des déréférencements qui peuvent péter n'importe quand. |
|
|
30
|
|
|
#110 | ||
|
Futur Membre du Club
![]() Développeur Web Inscription : février 2012 Messages : 21 ![]() |
Bonjour, vu aujourd'hui sur un code daté de 2010
Code :
|
||
|
|
06
|
|
|
#111 |
|
Expert Confirmé Sénior
![]() François Chef de projet NTIC Inscription : janvier 2007 Messages : 6 544 ![]() |
Pas compris ...
__________________
Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça... Une réponse vous a aidé ? utiliser le bouton "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel |
|
|
10
|
|
|
#112 |
|
Expert Confirmé
![]() Baptiste ROUSSELDéveloppeur Temps réel Embarqué Inscription : janvier 2011 Messages : 1 292 ![]() |
C'est tout à fait possible, il suffit que le programme qui exécute ces lignes n'ai pas l'autorisation de faire un chmod sur ce fichier et qu'il n'ai pas non plus l'autorisation de lecture/écriture dessus pour qu'on rentre dans le die().
__________________
|
|
|
11
|
|
|
#113 |
|
Membre actif
![]() |
10 GOTO 10
__________________
"En démocratie, c'est le peuple qui choisit ses dictateurs." (Patrick Sébastien) |
|
|
20
|
|
|
#114 | |||
|
Membre Expert
![]() Inscription : avril 2009 Messages : 1 359 ![]() |
Citation:
C'est un peu déstabilisant pour un moderne, à cause de l'absence de blancs et de retours chariot (je suppose qu'on ne mesurait pas encore la productivité en lignes de code), et parce qu'on n'a pas de fonctions en anglais de cuisine dont les noms sont plus long que le code qu'elles contiennent. Mais c'est extrèmement bien fait. Code :
http://www.jsoftware.com/jwiki/Essays/Incunabulum Francois |
|||
|
|
51
|
|
|
#115 |
|
Expert Confirmé Sénior
![]() |
Ça parait bizarre quand même de programmer comme ça si on ne cherche pas à concourir pour l'IOCCC....
PS: Ça m'a aussi l'air mauvais, ça utilise gets et semble allouer de la mémoire sans jamais la libérer.
__________________
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant. "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?" Apparently everyone. -- Raymond Chen. Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen. |
|
|
21
|
|
|
#116 |
|
Membre Expert
![]() Inscription : avril 2009 Messages : 1 359 ![]() |
|
|
|
22
|
|
|
#117 | ||||
|
Membre confirmé
![]() Analyste/développeur Java EE Inscription : janvier 2005 Messages : 369 ![]() |
Le code d'un collègue en java :
Code java :
Quand j'ai vu ça.. ![]() C'est quand même pas compliqué de faire : Code java :
Pourquoi toujours vouloir réinventer la roue ???? Pourquoi ?????
__________________
Utilisez les balises "Code" (alt+c). Nous avons répondu à votre question? Pensez au tag ![]() Le "lol" est aux boulets ce que le ";" est aux programmeurs |
||||
|
|
01
|
|
|
#118 |
|
Membre du Club
![]() Jean Michel Ingénieur intégration Inscription : décembre 2012 Messages : 25 ![]() |
utiliser la sortie d'erreur (STDERR) pour écrire des messages dans le log 'normal' via les redirections (appel de perl à partir de ksh), est ce logique ?
peso, je trouve ça hallucinant. En tout cas, ce n'est pas ma façon de penser. |
|
|
10
|
|
|
#119 | |||||
|
Membre expérimenté
![]() Inscription : décembre 2011 Messages : 229 ![]() |
Citation:
__________________
membre du collectif KassKooeye ; http://soundcloud.com/thekasskooeyeexperience et découvrez la BO du film "Beeing Michael Jackson" de Karl Zéro composée par Laurent Levesque : http://soundcloud.com/laurent-levesque/tracks "Vous avez entièrement raison mais c'est complètement faux" Guy Mamou-Mani président du Syntec faire en sorte d'apporter la lumière |
|||||
|
|
10
|
|
|
#120 |
|
Expert Confirmé Sénior
![]() |
Si c'est log4net/log4j, passer l'exception en second paramètre loggue l'exception complète si la lib est correctement configurée.
__________________
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant. "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?" Apparently everyone. -- Raymond Chen. Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen. |
|
|
10
|
Copyright © 2000-2013 - www.developpez.com