j'écris des tests unitaires et je m'arrange pour
qu'ils puissent servir d'exemples en complément de la doc,
Bon ben voilà, t'as compris.
Sinon, je pense que le codage est
suffisament auto documenté pour se passer de doc, surtout pour un
programmeur chevronné comme toi...
La seule chose à préciser, et encore, c'est le rôle du paramètre de
fstr_create(). C'est un entier (puissance de 2 de préférence, minimum
1, Attention, avec 0, le comportement est indéfini !) qui indique la
taille initiale de la chaine. (Taille dite 'raisonnable')
Si tu te sens le courage d'écrire une doc, tu es le bienvenu !
j'écris des tests unitaires et je m'arrange pour
qu'ils puissent servir d'exemples en complément de la doc,
Bon ben voilà, t'as compris.
Sinon, je pense que le codage est
suffisament auto documenté pour se passer de doc, surtout pour un
programmeur chevronné comme toi...
La seule chose à préciser, et encore, c'est le rôle du paramètre de
fstr_create(). C'est un entier (puissance de 2 de préférence, minimum
1, Attention, avec 0, le comportement est indéfini !) qui indique la
taille initiale de la chaine. (Taille dite 'raisonnable')
Si tu te sens le courage d'écrire une doc, tu es le bienvenu !
j'écris des tests unitaires et je m'arrange pour
qu'ils puissent servir d'exemples en complément de la doc,
Bon ben voilà, t'as compris.
Sinon, je pense que le codage est
suffisament auto documenté pour se passer de doc, surtout pour un
programmeur chevronné comme toi...
La seule chose à préciser, et encore, c'est le rôle du paramètre de
fstr_create(). C'est un entier (puissance de 2 de préférence, minimum
1, Attention, avec 0, le comportement est indéfini !) qui indique la
taille initiale de la chaine. (Taille dite 'raisonnable')
Si tu te sens le courage d'écrire une doc, tu es le bienvenu !
La manière d'agrandir pourrait aussi être parametrable, multiplier la taille
par 2 n'est pas toujours la meilleure stratégie, à partir d'un moment il
faut tenir compte de la taille de la page.
De plus, ce size devrait être arrondi de manière à ce qu'il fasse la
taille d'un long (voire d'une puissance de 2 de cette taille). Allouer
3 puis 6 puis 12 est une mauvaise économie,
La manière d'agrandir pourrait aussi être parametrable, multiplier la taille
par 2 n'est pas toujours la meilleure stratégie, à partir d'un moment il
faut tenir compte de la taille de la page.
De plus, ce size devrait être arrondi de manière à ce qu'il fasse la
taille d'un long (voire d'une puissance de 2 de cette taille). Allouer
3 puis 6 puis 12 est une mauvaise économie,
La manière d'agrandir pourrait aussi être parametrable, multiplier la taille
par 2 n'est pas toujours la meilleure stratégie, à partir d'un moment il
faut tenir compte de la taille de la page.
De plus, ce size devrait être arrondi de manière à ce qu'il fasse la
taille d'un long (voire d'une puissance de 2 de cette taille). Allouer
3 puis 6 puis 12 est une mauvaise économie,
Merci, d'ailleurs je m'y emploie déjà. J'y passe le plus clair de mon
temps, c'est très chiant mais écrire une doc est un gain de ressources
à un niveau global, il est préférable qu'une personne passe 2 heures à
écrire une doc plutôt que 100 personnes passent 1 heure de plus à
essayer de comprendre sans doc.
Merci, d'ailleurs je m'y emploie déjà. J'y passe le plus clair de mon
temps, c'est très chiant mais écrire une doc est un gain de ressources
à un niveau global, il est préférable qu'une personne passe 2 heures à
écrire une doc plutôt que 100 personnes passent 1 heure de plus à
essayer de comprendre sans doc.
Merci, d'ailleurs je m'y emploie déjà. J'y passe le plus clair de mon
temps, c'est très chiant mais écrire une doc est un gain de ressources
à un niveau global, il est préférable qu'une personne passe 2 heures à
écrire une doc plutôt que 100 personnes passent 1 heure de plus à
essayer de comprendre sans doc.
Harpo writes:Merci, d'ailleurs je m'y emploie déjà. J'y passe le plus clair de mon
temps, c'est très chiant mais écrire une doc est un gain de ressources
à un niveau global, il est préférable qu'une personne passe 2 heures à
écrire une doc plutôt que 100 personnes passent 1 heure de plus à
essayer de comprendre sans doc.
L'important, c'est que la doc permet de savoir quelles sont les
proprietes qui sont desirees, celles qui sont le fruit du hasard,
celles qui sont des bugs et seront supprimees des que le responsable
du code s'en rendra compte.
Harpo <trashcan@hotmail.com> writes:
Merci, d'ailleurs je m'y emploie déjà. J'y passe le plus clair de mon
temps, c'est très chiant mais écrire une doc est un gain de ressources
à un niveau global, il est préférable qu'une personne passe 2 heures à
écrire une doc plutôt que 100 personnes passent 1 heure de plus à
essayer de comprendre sans doc.
L'important, c'est que la doc permet de savoir quelles sont les
proprietes qui sont desirees, celles qui sont le fruit du hasard,
celles qui sont des bugs et seront supprimees des que le responsable
du code s'en rendra compte.
Harpo writes:Merci, d'ailleurs je m'y emploie déjà. J'y passe le plus clair de mon
temps, c'est très chiant mais écrire une doc est un gain de ressources
à un niveau global, il est préférable qu'une personne passe 2 heures à
écrire une doc plutôt que 100 personnes passent 1 heure de plus à
essayer de comprendre sans doc.
L'important, c'est que la doc permet de savoir quelles sont les
proprietes qui sont desirees, celles qui sont le fruit du hasard,
celles qui sont des bugs et seront supprimees des que le responsable
du code s'en rendra compte.
Harpo wrote:La manière d'agrandir pourrait aussi être parametrable, multiplier
la taille par 2 n'est pas toujours la meilleure stratégie, à partir
d'un moment il faut tenir compte de la taille de la page.
pourrais-tu détailler stp, c'est un problème auquel je suis osuvent
confronté
De plus, ce size devrait être arrondi de manière à ce qu'il fasse la
taille d'un long (voire d'une puissance de 2 de cette taille).
Allouer 3 puis 6 puis 12 est une mauvaise économie,
en complément à ma question ci-dessus, je veux bien des
éclairssissements sur ce point
Harpo wrote:
La manière d'agrandir pourrait aussi être parametrable, multiplier
la taille par 2 n'est pas toujours la meilleure stratégie, à partir
d'un moment il faut tenir compte de la taille de la page.
pourrais-tu détailler stp, c'est un problème auquel je suis osuvent
confronté
De plus, ce size devrait être arrondi de manière à ce qu'il fasse la
taille d'un long (voire d'une puissance de 2 de cette taille).
Allouer 3 puis 6 puis 12 est une mauvaise économie,
en complément à ma question ci-dessus, je veux bien des
éclairssissements sur ce point
Harpo wrote:La manière d'agrandir pourrait aussi être parametrable, multiplier
la taille par 2 n'est pas toujours la meilleure stratégie, à partir
d'un moment il faut tenir compte de la taille de la page.
pourrais-tu détailler stp, c'est un problème auquel je suis osuvent
confronté
De plus, ce size devrait être arrondi de manière à ce qu'il fasse la
taille d'un long (voire d'une puissance de 2 de cette taille).
Allouer 3 puis 6 puis 12 est une mauvaise économie,
en complément à ma question ci-dessus, je veux bien des
éclairssissements sur ce point
L'important, c'est que la doc permet de savoir quelles sont les
proprietes qui sont desirees, celles qui sont le fruit du hasard,
celles qui sont des bugs et seront supprimees des que le responsable
du code s'en rendra compte.
L'important, c'est que la doc permet de savoir quelles sont les
proprietes qui sont desirees, celles qui sont le fruit du hasard,
celles qui sont des bugs et seront supprimees des que le responsable
du code s'en rendra compte.
L'important, c'est que la doc permet de savoir quelles sont les
proprietes qui sont desirees, celles qui sont le fruit du hasard,
celles qui sont des bugs et seront supprimees des que le responsable
du code s'en rendra compte.
L'important, c'est que la doc permet de savoir quelles sont les
proprietes qui sont desirees, celles qui sont le fruit du hasard,
celles qui sont des bugs et seront supprimees des que le responsable
du code s'en rendra compte.
Au fait, les tests faits en connaissant l'implementation ne permettent
pas de discerner les deux premiers cas mais on peut esperer que le
troisieme ne s'y trouve pas :-)
L'important, c'est que la doc permet de savoir quelles sont les
proprietes qui sont desirees, celles qui sont le fruit du hasard,
celles qui sont des bugs et seront supprimees des que le responsable
du code s'en rendra compte.
Au fait, les tests faits en connaissant l'implementation ne permettent
pas de discerner les deux premiers cas mais on peut esperer que le
troisieme ne s'y trouve pas :-)
L'important, c'est que la doc permet de savoir quelles sont les
proprietes qui sont desirees, celles qui sont le fruit du hasard,
celles qui sont des bugs et seront supprimees des que le responsable
du code s'en rendra compte.
Au fait, les tests faits en connaissant l'implementation ne permettent
pas de discerner les deux premiers cas mais on peut esperer que le
troisieme ne s'y trouve pas :-)
. éviter de faire des malloc(), préférer alloca() quand c'est possible.
. éviter de faire des malloc(), préférer alloca() quand c'est possible.
. éviter de faire des malloc(), préférer alloca() quand c'est possible.
Harpo wrote:. éviter de faire des malloc(), préférer alloca() quand c'est
possible.
Alloca est-il suffisament portable pour ne pas poser de problème très
rapidement ?
http://lists.gnu.org/archive/html/bug-cvs/2004-04/msg00199.html
Linux, FreeBSD, NetBSD discourage it's use and Linux
man page explains reasons better than others.
http://www.die.net/doc/linux/man/man3/alloca.3.html
The fact that the code is inlined, means that it is impossible
to take the address of this function, or to change its behaviour
by linking with a different library.
=> Et donc de debugguer finement tout problème mémoire
The inlined code often consists of a single instruction
adjusting the stack pointer, and does not check for stack
overflow.
Harpo wrote:
. éviter de faire des malloc(), préférer alloca() quand c'est
possible.
Alloca est-il suffisament portable pour ne pas poser de problème très
rapidement ?
http://lists.gnu.org/archive/html/bug-cvs/2004-04/msg00199.html
Linux, FreeBSD, NetBSD discourage it's use and Linux
man page explains reasons better than others.
http://www.die.net/doc/linux/man/man3/alloca.3.html
The fact that the code is inlined, means that it is impossible
to take the address of this function, or to change its behaviour
by linking with a different library.
=> Et donc de debugguer finement tout problème mémoire
The inlined code often consists of a single instruction
adjusting the stack pointer, and does not check for stack
overflow.
Harpo wrote:. éviter de faire des malloc(), préférer alloca() quand c'est
possible.
Alloca est-il suffisament portable pour ne pas poser de problème très
rapidement ?
http://lists.gnu.org/archive/html/bug-cvs/2004-04/msg00199.html
Linux, FreeBSD, NetBSD discourage it's use and Linux
man page explains reasons better than others.
http://www.die.net/doc/linux/man/man3/alloca.3.html
The fact that the code is inlined, means that it is impossible
to take the address of this function, or to change its behaviour
by linking with a different library.
=> Et donc de debugguer finement tout problème mémoire
The inlined code often consists of a single instruction
adjusting the stack pointer, and does not check for stack
overflow.
Emmanuel Delahaye wrote:Les fonctions str* sont à utiliser avec parcimonie et à bon escient,
c'est à dire quasiment jamais.
N'importe quoi...
Je maintiens et je double la mise.
Emmanuel Delahaye wrote:
Les fonctions str* sont à utiliser avec parcimonie et à bon escient,
c'est à dire quasiment jamais.
N'importe quoi...
Je maintiens et je double la mise.
Emmanuel Delahaye wrote:Les fonctions str* sont à utiliser avec parcimonie et à bon escient,
c'est à dire quasiment jamais.
N'importe quoi...
Je maintiens et je double la mise.