// Cette fonction découpe la chaîne contenue dans 'text' en sous-chaînes
// Elle utilise le caratère ',' comme séparateur de sous-chaînes
// Elle renvoie un vecteur contenant dans les sous-chaînes découpées
std::vector<std::string> split( std::string const &text );
// Cette fonction découpe la chaîne contenue dans 'text' en sous-chaînes
// Elle utilise le caratère ',' comme séparateur de sous-chaînes
// Elle renvoie un vecteur contenant dans les sous-chaînes découpées
std::vector<std::string> split( std::string const &text );
// Cette fonction découpe la chaîne contenue dans 'text' en sous-chaînes
// Elle utilise le caratère ',' comme séparateur de sous-chaînes
// Elle renvoie un vecteur contenant dans les sous-chaînes découpées
std::vector<std::string> split( std::string const &text );
"grep enum *.h* | wc -l" c'est un bon indicateur de "(non-)qualité"
car derrière un enum se cache souvent un switch et derrière un switch...
"grep enum *.h* | wc -l" c'est un bon indicateur de "(non-)qualité"
car derrière un enum se cache souvent un switch et derrière un switch...
"grep enum *.h* | wc -l" c'est un bon indicateur de "(non-)qualité"
car derrière un enum se cache souvent un switch et derrière un switch...
il va falloir trouver celle du
"bon programmeur stagiaire" ;-)
il va falloir trouver celle du
"bon programmeur stagiaire" ;-)
il va falloir trouver celle du
"bon programmeur stagiaire" ;-)
On Thu, 27 Jan 2005 23:54:02 +0100, Olivier Azeau
:// Cette fonction découpe la chaîne contenue dans 'text' en sous-chaînes
// Elle utilise le caratère ',' comme séparateur de sous-chaînes
// Elle renvoie un vecteur contenant dans les sous-chaînes découpées
std::vector<std::string> split( std::string const &text );
Je préfère
std::vector<std::string> split
(std::string const &text, char separateur= ',');
D'une part, cette version est plus générale, c'est peut-être bien,
peut-être mal, suivant les cas -- d'ailleurs tu en parles plus loin
dans ton message.
Mettre ce prototype à la place du précédent ne casse (généralement)
pas de code.
Mais surtout, le prototype suffit quasiment à comprendre ce qu'elle
fait :
split => découpe ...
std::string const &text => ... un texte passé sous forme de
std::string comme premier argument ...
char separateur => ... en utilisant le séparateur (caractère
unique) passé comme deuxième argument ...
= ',' => ... et le séparateur par défaut est la virgule
<troll> et comme ça, on n'a pas besoin de commenter soi-même -- on
peut embaucher un stagiaire pour écrire a posteriori commentaires et
spécifications. </>
On Thu, 27 Jan 2005 23:54:02 +0100, Olivier Azeau
<read.my.name.and.email.to.firstname@lastname.com>:
// Cette fonction découpe la chaîne contenue dans 'text' en sous-chaînes
// Elle utilise le caratère ',' comme séparateur de sous-chaînes
// Elle renvoie un vecteur contenant dans les sous-chaînes découpées
std::vector<std::string> split( std::string const &text );
Je préfère
std::vector<std::string> split
(std::string const &text, char separateur= ',');
D'une part, cette version est plus générale, c'est peut-être bien,
peut-être mal, suivant les cas -- d'ailleurs tu en parles plus loin
dans ton message.
Mettre ce prototype à la place du précédent ne casse (généralement)
pas de code.
Mais surtout, le prototype suffit quasiment à comprendre ce qu'elle
fait :
split => découpe ...
std::string const &text => ... un texte passé sous forme de
std::string comme premier argument ...
char separateur => ... en utilisant le séparateur (caractère
unique) passé comme deuxième argument ...
= ',' => ... et le séparateur par défaut est la virgule
<troll> et comme ça, on n'a pas besoin de commenter soi-même -- on
peut embaucher un stagiaire pour écrire a posteriori commentaires et
spécifications. </>
On Thu, 27 Jan 2005 23:54:02 +0100, Olivier Azeau
:// Cette fonction découpe la chaîne contenue dans 'text' en sous-chaînes
// Elle utilise le caratère ',' comme séparateur de sous-chaînes
// Elle renvoie un vecteur contenant dans les sous-chaînes découpées
std::vector<std::string> split( std::string const &text );
Je préfère
std::vector<std::string> split
(std::string const &text, char separateur= ',');
D'une part, cette version est plus générale, c'est peut-être bien,
peut-être mal, suivant les cas -- d'ailleurs tu en parles plus loin
dans ton message.
Mettre ce prototype à la place du précédent ne casse (généralement)
pas de code.
Mais surtout, le prototype suffit quasiment à comprendre ce qu'elle
fait :
split => découpe ...
std::string const &text => ... un texte passé sous forme de
std::string comme premier argument ...
char separateur => ... en utilisant le séparateur (caractère
unique) passé comme deuxième argument ...
= ',' => ... et le séparateur par défaut est la virgule
<troll> et comme ça, on n'a pas besoin de commenter soi-même -- on
peut embaucher un stagiaire pour écrire a posteriori commentaires et
spécifications. </>
Fabien LE LEZ wrote:On Thu, 27 Jan 2005 15:59:05 +0100, korchkidu :Le bon programmeur, il code, il compile, il exécute, ca plante mais
c'est un bon programmeur...;)
Le bon programmeur, il réfléchit, il réfléchit, il réfléchit,
ilréfléchit, il réfléchit, il réfléchit, il code, ça compile du
premiercoup (sauf fautes de frappe), et ça ne plante pas.
Tu as oublié : il sait expliquer a son patron pourquoi il réfléchit
autant ;-)
Fabien LE LEZ wrote:
On Thu, 27 Jan 2005 15:59:05 +0100, korchkidu <korch_ki_du@yahoo.fr>:
Le bon programmeur, il code, il compile, il exécute, ca plante mais
c'est un bon programmeur...;)
Le bon programmeur, il réfléchit, il réfléchit, il réfléchit,
il
réfléchit, il réfléchit, il réfléchit, il code, ça compile du
premier
coup (sauf fautes de frappe), et ça ne plante pas.
Tu as oublié : il sait expliquer a son patron pourquoi il réfléchit
autant ;-)
Fabien LE LEZ wrote:On Thu, 27 Jan 2005 15:59:05 +0100, korchkidu :Le bon programmeur, il code, il compile, il exécute, ca plante mais
c'est un bon programmeur...;)
Le bon programmeur, il réfléchit, il réfléchit, il réfléchit,
ilréfléchit, il réfléchit, il réfléchit, il code, ça compile du
premiercoup (sauf fautes de frappe), et ça ne plante pas.
Tu as oublié : il sait expliquer a son patron pourquoi il réfléchit
autant ;-)
Le mauvais programmeur, il code, il compile, il exécute et ca
plante. Le bon programmeur, il code, il compile, il exécute,
ca plante mais c'est un bon programmeur...;)
Plus serieusement, je vois souvent "bons programmeurs" ou
"mauvais programmeurs". Comme je sais qu'il y a surement parmi
vous des gens qui doivent decider si quelqu'un est un bon ou
un mauvais programmeur, je serais curieux de connaitre les
criteres sur lesquels vous vous bases pour decider de ca dans
le cas du C++. Par exemple, lors d'un entretien, qu'est ce qui
peut faire gagner des points et qu'est ce qui peut en faire
perdre...
Le mauvais programmeur, il code, il compile, il exécute et ca
plante. Le bon programmeur, il code, il compile, il exécute,
ca plante mais c'est un bon programmeur...;)
Plus serieusement, je vois souvent "bons programmeurs" ou
"mauvais programmeurs". Comme je sais qu'il y a surement parmi
vous des gens qui doivent decider si quelqu'un est un bon ou
un mauvais programmeur, je serais curieux de connaitre les
criteres sur lesquels vous vous bases pour decider de ca dans
le cas du C++. Par exemple, lors d'un entretien, qu'est ce qui
peut faire gagner des points et qu'est ce qui peut en faire
perdre...
Le mauvais programmeur, il code, il compile, il exécute et ca
plante. Le bon programmeur, il code, il compile, il exécute,
ca plante mais c'est un bon programmeur...;)
Plus serieusement, je vois souvent "bons programmeurs" ou
"mauvais programmeurs". Comme je sais qu'il y a surement parmi
vous des gens qui doivent decider si quelqu'un est un bon ou
un mauvais programmeur, je serais curieux de connaitre les
criteres sur lesquels vous vous bases pour decider de ca dans
le cas du C++. Par exemple, lors d'un entretien, qu'est ce qui
peut faire gagner des points et qu'est ce qui peut en faire
perdre...
Le mauvais programmeur, il code, il compile, il exécute et ca plante.
Le bon programmeur, il code, il compile, il exécute, ca plante mais
c'est un bon programmeur...;)
Le mauvais programmeur, il code, il compile, il exécute et ca plante.
Le bon programmeur, il code, il compile, il exécute, ca plante mais
c'est un bon programmeur...;)
Le mauvais programmeur, il code, il compile, il exécute et ca plante.
Le bon programmeur, il code, il compile, il exécute, ca plante mais
c'est un bon programmeur...;)
Le mauvais programmeur, il code, il compile, il exécute et
ca plante. Le bon programmeur, il code, il compile, il
exécute, ca plante mais c'est un bon programmeur...;)
Plus serieusement, je vois souvent "bons programmeurs" ou
"mauvais programmeurs". Comme je sais qu'il y a surement
parmi vous des gens qui doivent decider si quelqu'un est un
bon ou un mauvais programmeur, je serais curieux de
connaitre les criteres sur lesquels vous vous bases pour
decider de ca dans le cas du C++. Par exemple, lors d'un
entretien, qu'est ce qui peut faire gagner des points et
qu'est ce qui peut en faire perdre...
Le bon programmeur :
- écrit du code en respectant la norme et les conventions de
codage de son équipe,
- commente correctement son code
- utilise un outil pour générer la documentattion à partir des
commentaires (cf. Doxygen ou Natural Docs)
- gère les erreurs correctement,
- fait tout particulièrement attention aux problèmes
d'allocation mémoire
- écrit un code réutilisable au maximum et ne réinvente pas la
roue
- n'optimise pas de manière prématurée
- optimise l'algorithme en premier
- utilise des const ou des enum pour les constantes numériques
- sait s'autoformer sur de nouveaux outils et technologies
- sait trouver de la documentation tout seul
- sait écrire une documentation pour le client
- travaille réellement 8h/jour plutôt que 1h code/2h internet ...
Le mauvais programmeur, il code, il compile, il exécute et
ca plante. Le bon programmeur, il code, il compile, il
exécute, ca plante mais c'est un bon programmeur...;)
Plus serieusement, je vois souvent "bons programmeurs" ou
"mauvais programmeurs". Comme je sais qu'il y a surement
parmi vous des gens qui doivent decider si quelqu'un est un
bon ou un mauvais programmeur, je serais curieux de
connaitre les criteres sur lesquels vous vous bases pour
decider de ca dans le cas du C++. Par exemple, lors d'un
entretien, qu'est ce qui peut faire gagner des points et
qu'est ce qui peut en faire perdre...
Le bon programmeur :
- écrit du code en respectant la norme et les conventions de
codage de son équipe,
- commente correctement son code
- utilise un outil pour générer la documentattion à partir des
commentaires (cf. Doxygen ou Natural Docs)
- gère les erreurs correctement,
- fait tout particulièrement attention aux problèmes
d'allocation mémoire
- écrit un code réutilisable au maximum et ne réinvente pas la
roue
- n'optimise pas de manière prématurée
- optimise l'algorithme en premier
- utilise des const ou des enum pour les constantes numériques
- sait s'autoformer sur de nouveaux outils et technologies
- sait trouver de la documentation tout seul
- sait écrire une documentation pour le client
- travaille réellement 8h/jour plutôt que 1h code/2h internet ...
Le mauvais programmeur, il code, il compile, il exécute et
ca plante. Le bon programmeur, il code, il compile, il
exécute, ca plante mais c'est un bon programmeur...;)
Plus serieusement, je vois souvent "bons programmeurs" ou
"mauvais programmeurs". Comme je sais qu'il y a surement
parmi vous des gens qui doivent decider si quelqu'un est un
bon ou un mauvais programmeur, je serais curieux de
connaitre les criteres sur lesquels vous vous bases pour
decider de ca dans le cas du C++. Par exemple, lors d'un
entretien, qu'est ce qui peut faire gagner des points et
qu'est ce qui peut en faire perdre...
Le bon programmeur :
- écrit du code en respectant la norme et les conventions de
codage de son équipe,
- commente correctement son code
- utilise un outil pour générer la documentattion à partir des
commentaires (cf. Doxygen ou Natural Docs)
- gère les erreurs correctement,
- fait tout particulièrement attention aux problèmes
d'allocation mémoire
- écrit un code réutilisable au maximum et ne réinvente pas la
roue
- n'optimise pas de manière prématurée
- optimise l'algorithme en premier
- utilise des const ou des enum pour les constantes numériques
- sait s'autoformer sur de nouveaux outils et technologies
- sait trouver de la documentation tout seul
- sait écrire une documentation pour le client
- travaille réellement 8h/jour plutôt que 1h code/2h internet ...
- utilise un outil pour générer la documentattion à partir
des commentaires (cf. Doxygen ou Natural Docs)
Tout dépend des besoins
Quand on travaille à plusieurs, c'est plus que nécessaire.
Et quand on travaille tout seul, cela permet de s'imposer une
certaine rigueur. On génère la doc, et l'on voit où les
fonctions ne sont pas bien documentées : il reste du travail à
faire à de ce côté-là.
C'est vrai, j'ai oublié les tests. Donc un bon programmeur
inclue aussi des tests unitaires dans chacun de ses modules
(entre une paire de #ifdef/#endif pour les désactiver en
release).
- écrit un code réutilisable au maximum et ne réinvente pas
la roue Ne jamais tomber dans un exces : il faut écrire le
code qui répond au besoin, pas le code qui répond au besoin
de réutilisabilité que l'on aura peut un jour dans 2 ans...
On ne peut pas prévoir quand on aura à nouveau besoin de tel
ou tel code. Mieux vaut être prévoyant.
- sait trouver de la documentation tout seul
I'm a long long way from home...
Non sans dec' c'est quand meme plus important de savoir
dialoguer avec les membres de son équipe non ?
Bien sûr, mais aussi, savoir ne pas les importuner inutilement
est encore plus important.
- travaille réellement 8h/jour plutôt que 1h code/2h
internet ...
Et usenet c'est permis ?
Nonon, c'est ce qui consomme le plus de temps :)
Tout ca pour dire que si on prend 100 'programmeurs' au
hasard, on aura (environ) 100 descriptions différentes de
'bon programmeur' Ca s'appelle la diversité culturelle et ce
n'est pas si mal que ca...
Du point de vue d'une entreprise en particulier, il n'y a
qu'une seule sorte de bon programmeur.
- utilise un outil pour générer la documentattion à partir
des commentaires (cf. Doxygen ou Natural Docs)
Tout dépend des besoins
Quand on travaille à plusieurs, c'est plus que nécessaire.
Et quand on travaille tout seul, cela permet de s'imposer une
certaine rigueur. On génère la doc, et l'on voit où les
fonctions ne sont pas bien documentées : il reste du travail à
faire à de ce côté-là.
C'est vrai, j'ai oublié les tests. Donc un bon programmeur
inclue aussi des tests unitaires dans chacun de ses modules
(entre une paire de #ifdef/#endif pour les désactiver en
release).
- écrit un code réutilisable au maximum et ne réinvente pas
la roue Ne jamais tomber dans un exces : il faut écrire le
code qui répond au besoin, pas le code qui répond au besoin
de réutilisabilité que l'on aura peut un jour dans 2 ans...
On ne peut pas prévoir quand on aura à nouveau besoin de tel
ou tel code. Mieux vaut être prévoyant.
- sait trouver de la documentation tout seul
I'm a long long way from home...
Non sans dec' c'est quand meme plus important de savoir
dialoguer avec les membres de son équipe non ?
Bien sûr, mais aussi, savoir ne pas les importuner inutilement
est encore plus important.
- travaille réellement 8h/jour plutôt que 1h code/2h
internet ...
Et usenet c'est permis ?
Nonon, c'est ce qui consomme le plus de temps :)
Tout ca pour dire que si on prend 100 'programmeurs' au
hasard, on aura (environ) 100 descriptions différentes de
'bon programmeur' Ca s'appelle la diversité culturelle et ce
n'est pas si mal que ca...
Du point de vue d'une entreprise en particulier, il n'y a
qu'une seule sorte de bon programmeur.
- utilise un outil pour générer la documentattion à partir
des commentaires (cf. Doxygen ou Natural Docs)
Tout dépend des besoins
Quand on travaille à plusieurs, c'est plus que nécessaire.
Et quand on travaille tout seul, cela permet de s'imposer une
certaine rigueur. On génère la doc, et l'on voit où les
fonctions ne sont pas bien documentées : il reste du travail à
faire à de ce côté-là.
C'est vrai, j'ai oublié les tests. Donc un bon programmeur
inclue aussi des tests unitaires dans chacun de ses modules
(entre une paire de #ifdef/#endif pour les désactiver en
release).
- écrit un code réutilisable au maximum et ne réinvente pas
la roue Ne jamais tomber dans un exces : il faut écrire le
code qui répond au besoin, pas le code qui répond au besoin
de réutilisabilité que l'on aura peut un jour dans 2 ans...
On ne peut pas prévoir quand on aura à nouveau besoin de tel
ou tel code. Mieux vaut être prévoyant.
- sait trouver de la documentation tout seul
I'm a long long way from home...
Non sans dec' c'est quand meme plus important de savoir
dialoguer avec les membres de son équipe non ?
Bien sûr, mais aussi, savoir ne pas les importuner inutilement
est encore plus important.
- travaille réellement 8h/jour plutôt que 1h code/2h
internet ...
Et usenet c'est permis ?
Nonon, c'est ce qui consomme le plus de temps :)
Tout ca pour dire que si on prend 100 'programmeurs' au
hasard, on aura (environ) 100 descriptions différentes de
'bon programmeur' Ca s'appelle la diversité culturelle et ce
n'est pas si mal que ca...
Du point de vue d'une entreprise en particulier, il n'y a
qu'une seule sorte de bon programmeur.
Sayajin wrote:"korchkidu" a écrit dans le message de
news:
Par exemple, lors d'un entretien, qu'est ce qui peut faire
gagner des points et qu'est ce qui peut en faire perdre...
Au final on doit "coder bêtement" !
Voila un exemple de ce qui peut faire perdre des points si on
le dit lors de l'entretien.
Sayajin wrote:
"korchkidu" <korch_ki_du@yahoo.fr> a écrit dans le message de
news:
Par exemple, lors d'un entretien, qu'est ce qui peut faire
gagner des points et qu'est ce qui peut en faire perdre...
Au final on doit "coder bêtement" !
Voila un exemple de ce qui peut faire perdre des points si on
le dit lors de l'entretien.
Sayajin wrote:"korchkidu" a écrit dans le message de
news:
Par exemple, lors d'un entretien, qu'est ce qui peut faire
gagner des points et qu'est ce qui peut en faire perdre...
Au final on doit "coder bêtement" !
Voila un exemple de ce qui peut faire perdre des points si on
le dit lors de l'entretien.