 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Fabien LE LEZ Guest
|
Posted: Tue Jun 29, 2004 2:03 pm Post subject: Retour sur un vieux thread... |
|
|
Bonjour,
Michel me demandait, il y a un bout de temps, de lui montrer un bloc
if qui faisait plus d'une vingtaine de lignes.
Et ben, ça y est ! <http://perso.edulang.com/machin_pas_beau.zip> ;-)
--
schtroumpf schtroumpf
|
|
| Back to top |
|
 |
Mickael Pointier Guest
|
Posted: Tue Jun 29, 2004 2:43 pm Post subject: Re: Retour sur un vieux thread... |
|
|
Fabien LE LEZ wrote:
| Quote: | Bonjour,
Michel me demandait, il y a un bout de temps, de lui montrer un bloc
if qui faisait plus d'une vingtaine de lignes.
Et ben, ça y est ! <http://perso.edulang.com/machin_pas_beau.zip>
|
Ca si c'est pas du code automatiquement généré afin d'obtenir un décodage
optimisé sans accès à un dictionnaire...
J'aimerai voir la tronche du code une fois compilé =)
Mike
|
|
| Back to top |
|
 |
Fabien LE LEZ Guest
|
Posted: Tue Jun 29, 2004 3:44 pm Post subject: Re: Retour sur un vieux thread... |
|
|
On Tue, 29 Jun 2004 16:43:44 +0200, "Mickael Pointier"
<mpointier (AT) edengames (DOT) moc>:
| Quote: | Ca si c'est pas du code automatiquement généré
|
Uh ? Meuh non, je l'ai tapé à la main. C'est comme ça que je programme
d'habitude, c'est pour ça que ça va pas très vite...
He he... Presque 400 lignes de PHP, tout de même, pour arriver à ça
;-)
| Quote: | J'aimerai voir la tronche du code une fois compilé =)
|
Je peux t'envoyer l'assembleur généré par BC++, si tu veux, mais c'est
AMHA profondément rasoir...
Plus de soixante mille lignes, quand même ! ~_~
--
schtroumpf schtroumpf
|
|
| Back to top |
|
 |
Alexandre BACQUART Guest
|
Posted: Tue Jun 29, 2004 7:57 pm Post subject: Re: Retour sur un vieux thread... |
|
|
Fabien LE LEZ wrote:
| Quote: | Bonjour,
Michel me demandait, il y a un bout de temps, de lui montrer un bloc
if qui faisait plus d'une vingtaine de lignes.
Et ben, ça y est ! <http://perso.edulang.com/machin_pas_beau.zip>
|
Bah, tu prends un algo complexe avec uniquement des fonctions inline, ça
va générer à peu près le même code. C'est ignoble, mais je reste
persuadé qu'un humain est capable de faire bien pire encore Au moins,
c'est bien indenté et ça respire ton machin_pas_beau ! L'auto-généré a
du bon...
Il est clair que sans le source original, la maintenance d'un truc
pareil est un pûr cauchemar de programmeur (et comme toujours, surtout
pour celui qui n'en est pas l'auteur). A noter que c'est aussi une
manière sadique de se rendre indispensable... il y a des vicieux !
Enfin, un bon générateur aurait plutôt mis :
} // end namespace ns_Huffman_RTF
....à la fin. Faut quand-même pas déconner avec la lisibilité :)
--
Tek
|
|
| Back to top |
|
 |
Fabien LE LEZ Guest
|
Posted: Wed Jun 30, 2004 10:53 am Post subject: Re: Retour sur un vieux thread... |
|
|
On Tue, 29 Jun 2004 21:57:49 +0200, Alexandre BACQUART
<tek512 (AT) hotmail (DOT) com>:
| Quote: | Au moins,
c'est bien indenté et ça respire ton machin_pas_beau ! L'auto-généré a
du bon...
|
Yep, comme c'est moi qui ai pondu le code générateur, le code généré
suit mes conventions ;-)
| Quote: | Il est clair que sans le source original, la maintenance d'un truc
pareil est un pûr cauchemar de programmeur
|
Effectivement, si jamais je devais faire des modifications en ayant
perdu le code générateur, je referais ce dernier au lieu d'essayer de
modifier le code généré.
Un peu comme pour du code généré par Flex ;-)
| Quote: | Enfin, un bon générateur aurait plutôt mis :
} // end namespace ns_Huffman_RTF
...à la fin.
|
Sans doute. Mais bon, le principe étant (dans les cas simples comme
celui-ci) qu'un namespace commence au début du .cpp (après les
#include) et se termine sur la dernière ligne du .cpp, ça ne porte pas
trop à conséquence.
| Quote: | Faut quand-même pas déconner avec la lisibilité
|
;-)
--
schtroumpf schtroumpf
|
|
| Back to top |
|
 |
Alexandre BACQUART Guest
|
Posted: Wed Jun 30, 2004 3:35 pm Post subject: Re: Retour sur un vieux thread... |
|
|
Fabien LE LEZ wrote:
| Quote: | On Tue, 29 Jun 2004 21:57:49 +0200, Alexandre BACQUART
[email]tek512 (AT) hotmail (DOT) com[/email]>:
Au moins,
c'est bien indenté et ça respire ton machin_pas_beau ! L'auto-généré a
du bon...
Yep, comme c'est moi qui ai pondu le code générateur, le code généré
suit mes conventions
|
Vi, une autre manière de dire "z'avez vu comment je code proprement !"
Mais essaye de réécrire la routine dans le même esprit (enfin non,
n'essaie pas en fait), à la main, avec tes conventions, et si tu te
plantes pas une seule fois, ne serait-ce que sur les indentations, là tu
auras droit à toute mon admiration de bidouilleur crasseux.
| Quote: | Il est clair que sans le source original, la maintenance d'un truc
pareil est un pûr cauchemar de programmeur
Effectivement, si jamais je devais faire des modifications en ayant
perdu le code générateur, je referais ce dernier au lieu d'essayer de
modifier le code généré.
Un peu comme pour du code généré par Flex
|
Et si tu n'as aucun autre moyen de connaître l'algo déjà utilisé un peu
partout dans ton environnement, aucun source à part celui-là, aucune doc
sur l'interface proposée ? Réécrire l'original ne sera alors possible
qu'au prix d'un énorme effort d'analyse, ça devient même du
reverse-engineering. Je me demande si dans ce cas, il ne vaut mieux pas
analyser grossièrement la structure et les redondances et essayer de
générer un générateur à partir de ça, dans l'unique but de rendre la
chose plus facile à gober :)
En tous cas, j'ai déjà eu des expériences similaires avec des algo
spécifiques dont je n'avais que les sources désassemblés !
| Quote: | Enfin, un bon générateur aurait plutôt mis :
} // end namespace ns_Huffman_RTF
...à la fin.
Sans doute. Mais bon, le principe étant (dans les cas simples comme
celui-ci) qu'un namespace commence au début du .cpp (après les
#include) et se termine sur la dernière ligne du .cpp, ça ne porte pas
trop à conséquence.
|
J'essayais de faire de l'humour, n'est-ce pas l'objet de ce message dans
le fond ? ... à part démontrer qu'un code propre peut aussi être
imbitable :)
| Quote: | Faut quand-même pas déconner avec la lisibilité :)
;-)
|
--
Tek
|
|
| Back to top |
|
 |
Jean-Marc Bourguet Guest
|
|
| Back to top |
|
 |
Michel Michaud Guest
|
Posted: Mon Jul 05, 2004 3:45 pm Post subject: Re: Retour sur un vieux thread... |
|
|
Dans news:hdt2e0dnk2171gacdbi82rhvb8dlqgkdmn (AT) 4ax (DOT) com, Fabien LE
LEZ <gramster (AT) gramster (DOT) com> a écrit :
Il me semble que je disais que c'était trop long et qu'il
faudrait plutôt le récrire autrement. Ton exemple permet de
confirmer !
--
Michel Michaud [email]mm (AT) gdzid (DOT) com[/email]
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
|
|
| Back to top |
|
 |
Fabien LE LEZ Guest
|
Posted: Mon Jul 05, 2004 8:10 pm Post subject: Re: Retour sur un vieux thread... |
|
|
On Mon, 5 Jul 2004 11:45:28 -0400, "Michel Michaud" <mm (AT) gdzid (DOT) com>:
| Quote: | http://perso.edulang.com/machin_pas_beau.zip> ;-)
Il me semble que je disais que c'était trop long et qu'il
faudrait plutôt le récrire autrement. Ton exemple permet de
confirmer !
|
Sauf que je n'ai pas l'intention de le récrire autrement. Pas plus que
de le lire, d'ailleurs ;-)
--
schtroumpf schtroumpf
Jean-Emile de France
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|