|
Publicité ' | ||||||||||||||||||||||||
|
|
#141 |
![]() ![]() Yoann SculoIngénieur Linux Embarqué Inscription : janvier 2006 Messages : 685 ![]() |
@Nemek je parle bien d'une machine de dev. Et nous avons tous les mêmes besoins dans l'équipe.
La particularité dans mon cas c'est que tout est cross-compilé. Donc la machine de dev overkill est là pour compiler suffisamment vite pour ne pas à perdre plus de temps. Même chose pour le serveur d'intégration continue. Il faut savoir mettre les moyens pour avoir du matériel décent pour ne pas perdre du temps. Le prix du matériel est amorti en quelques jours à l'échelle d'une équipe de dev qui perd systématiquement son temps parce que le serveur met une plombe à compiler une release. Et puis je trouve que forcer une mauvaise config pour "éduquer" les développeurs n'est pas franchement une bonne idée. Un bon développeur sait comment bien coder et optimiser pour des configurations différentes. Le fait d'avoir une machine de dev puissante, permet surtout de gagner du temps de développement. |
|
21
|
|
|
#142 | ||
|
Membre Expert
![]() esclave du Grand Capital Inscription : février 2010 Messages : 1 075 ![]() |
Citation:
Citation:
Plus généralement, quel intérêt ont les "conditions difficiles" ? J'ai plus l'impression que c'est du simple masochisme. |
||
|
|
40
|
|
|
#143 | |||
![]() ![]() Logan Développeur Java Inscription : août 2005 Messages : 1 689 ![]() |
Citation:
Citation:
Citation:
__________________
Java : Forum - FAQ - Java SE 7 API - Java EE 6 API ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !) Une solution vous convient ? N'oubliez pas le tag ![]() Signature par pitipoisson |
|||
|
|
10
|
|
|
#144 | |
![]() ![]() Yoann SculoIngénieur Linux Embarqué Inscription : janvier 2006 Messages : 685 ![]() |
Citation:
Compiler un kernel ou Android from scratch prend un temps fou. Si tu dois faire ça à longueur de journée, c'est vital d'avoir un bon PC. Héhé c'est vrai, mais ce n'est pas une raison pour niveler par le bas |
|
|
40
|
|
|
#145 | |
|
Membre Expert
![]() esclave du Grand Capital Inscription : février 2010 Messages : 1 075 ![]() |
Les dernières pages de cette discussion m'inspirent une phrase :
Citation:
|
|
|
|
50
|
|
|
#146 | |
|
Expert Confirmé Sénior
![]() Inscription : décembre 2007 Messages : 2 541 ![]() |
Citation:
__________________
Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten : 1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception 2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences 3)le temps de comprendre toutes les exigences, le projet est terminé 4)le temps de terminer le projet, les exigences ont changé Et le serment de non-allégiance : Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée. |
|
|
|
20
|
|
|
#147 | |
![]() ![]() Logan Développeur Java Inscription : août 2005 Messages : 1 689 ![]() |
Citation:
C'est le fonctionnement qui avait été mis en avant dans les discussions "Java vs C++" dans l'approche modulaire. Le concept de loi s'applique donc à tout le monde et il faut bien tenir compte de tout le monde !
__________________
Java : Forum - FAQ - Java SE 7 API - Java EE 6 API ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !) Une solution vous convient ? N'oubliez pas le tag ![]() Signature par pitipoisson |
|
|
|
00
|
|
|
#148 | |
![]() ![]() Yoann SculoIngénieur Linux Embarqué Inscription : janvier 2006 Messages : 685 ![]() |
Citation:
Bon et puis nous sommes vendredi L'embarqué n'est pas si à part que ça, hein. Ça représente pas mal de monde !Tout à fait. Sauf que ce n'est pas pour autant une raison d'empêcher "les bons" de travailler, par un concept de loi, en les forçant à avoir du mauvais matos. |
|
|
20
|
|
|
#149 | |||
![]() ![]() Logan Développeur Java Inscription : août 2005 Messages : 1 689 ![]() |
Citation:
Citation:
Citation:
Pour en revenir un peu plus dans le sujet, plutôt que se pencher sur le matériel et éventuellement le cadre "physique" de travail, c'est surtout du côté de la relation client (la vision de ce dernier sur le programmeur et inversement), la gestion de projet au sens extra large (organisation, rôles, dépendances fonctionnelles, échanges entre les services, etc.) qu'il faudrait améliorer.
__________________
Java : Forum - FAQ - Java SE 7 API - Java EE 6 API ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !) Une solution vous convient ? N'oubliez pas le tag ![]() Signature par pitipoisson |
|||
|
|
10
|
|
|
#150 |
|
Membre Expert
![]() ![]() Grand Timonier des Chats Inscription : décembre 2011 Messages : 610 ![]() |
Certes. Cependant, ce matin, redémarrer mon PC m'a pris 10 minutes (c'est un cas assez extrème, avec un virtual desktop qui prend beaucoup trop long à se lancer).
En démarrant mon PC tous les jours, je perds donc environ 3.5 heures par mois; sans compter le temps perdu en lançant mes applications, le temps perdu avec les occasionels plantages... Tout ça fait une perte de productivité réellement chiffrable et qui doit coûter plus de €1k/personne/an (minimum) à l'entreprise, en temps passé par les salariés à attendre une réponse de leurs PC. Un investissement plus régulier en matériel informatique serait donc rentable, voir très rentable. |
|
|
51
|
|
|
#151 | ||
|
Membre Expert
![]() Inscription : avril 2009 Messages : 1 359 ![]() |
Citation:
J'ai toujours eu l'impression que les explications du genre "ah oui mais on perd un temps fou en recompilation" sont de très mauvaises excuses, comme la mesure de la productivité ou de la complexité d'un logiciel en lignes de code. Citation:
La réponse usuelle du développeur au compte rendu de bug, c'est "sur ma machine ca marche". De même, sa réponse habituelle au "c'est lent" est "pas chez moi". Et le temps perdu dans ces allers-retours (y'a un bug, mais non, mais si, pas chez moi, ben si...) entraine souvent une perte de productivité bien plus importante que celle liée au démarrage des postes, ou à la recompilation de telle ou telle bibliothèque. Ce n'est pas une raison pour développer sur des machines pourries, bien sur, mais il me parait utile que le programme tourne chez les développeurs (qui sont les premiers testeurs) à une vitesse comparable à celle des clients. Et si le problème est le temps de recompilation de l'environnement, il est bien plus efficace d'avoir une machine rapide (hors poste de dev) destinée à cela... Francois |
||
|
|
30
|
|
|
#152 | |
![]() ![]() Yves Développeur informatique Inscription : janvier 2007 Messages : 5 277 ![]() |
Citation:
Mais ça marche aussi dans le sens contraire, et j'ai connu le cas. Les machines des utilisateurs, somme toutes classiques et normales se sont révélées plus puissante que les machines des développeurs pas guère moins puissantes mais largement plus surchargées. Résultat : un bug aléatoire, lié à un problème de synchronisation sur les postes des clients, impossible à reproduire sur les postes des développeurs qui, étant à la peine, avaient le temps de se synchroniser. Le problème n'a réellement été mis en évidence qu'au bout de 6 semaines, lorsque par hasard, un des développeurs en charge du bug a été doté d'une machine toute neuve, un foudre de guerre. Sur cette machine le bug était systématique.
__________________
--- Sevyc64 --- Parce que le partage est notre force, la connaissance sera notre victoire |
|
|
|
30
|
|
|
#153 | |
![]() ![]() Yoann SculoIngénieur Linux Embarqué Inscription : janvier 2006 Messages : 685 ![]() |
Citation:
Mais si je suis bien les choses, tu préconises de donner des PC moins bien pour que le développeur s'adapte à l'environnement d'exécution. Juste parce que celui-ci peut ne pas envisager certains bugs, ou ne pas bien dimensionner son application pour les machines cibles. Et pourquoi pas l'inverse alors ? De bons PC de dev et une machine cible pour tester le rendu ? Comme ça tu te rends comptes des problèmes/erreurs en amont et tu gagnes du temps avec un PC de dev plus puissant. |
|
|
10
|
|
|
#154 |
|
Expert Confirmé Sénior
![]() Inscription : décembre 2007 Messages : 2 541 ![]() |
La machine de test doit ressembler le plus possible à la machine de l'utilisateur final. Mais quel test? Le TU, certainement pas : le dev a besoin d'un feedback rapide sur la qualité de ce qu'il vient de pondre. Par contre, en intégration ou en recette, c'est obligatoire. Sinon.....
Quand même, une compilation rapide, c'est très important. Si ça traine, au lieu de bosser, on va sur developpez.net et on écrit des trucs au lieu de bosser. Ah, tiens, ça fait deux minutes que ma compil' vient de finir...
__________________
Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten : 1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception 2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences 3)le temps de comprendre toutes les exigences, le projet est terminé 4)le temps de terminer le projet, les exigences ont changé Et le serment de non-allégiance : Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée. |
|
|
40
|
|
|
#155 | |
![]() ![]() Yves Développeur informatique Inscription : janvier 2007 Messages : 5 277 ![]() |
Citation:
__________________
--- Sevyc64 --- Parce que le partage est notre force, la connaissance sera notre victoire |
|
|
|
00
|
|
|
#156 | ||
|
Membre Expert
![]() Inscription : avril 2009 Messages : 1 359 ![]() |
Citation:
Quand tu développes, tu ne gères pas de la même façon un traitement qui dure quelques dixièmes de secondes, ou quelques secondes, ou une minute. Si, ta machine est rapide, dispose d'une mémoire abondante, et d'accès disques/réseaux très performants, ou si tu développes à partir d'un jeu de données d'essai sans commune mesure avec la réalité, il y a de grandes chances pour que la première version du logiciel soit très décevante pour ceux qui la testeront ou l'utiliseront sur des postes "normaux". Et si les tests sont séparés du développement, comme tu le suggères, ces problèmes ne seront diagnostiqués et pris en compte que tard dans le développement. C'est une situation assez courante en pratique, où de nombreux programmes se révèlent atrocement lents lors des tests initiaux. Pour se justifier, les développeurs se cachent souvent derrière "l'optimisation prématurée", mais en fait, ça tient souvent au fait qu'on développe dans un environnement (machine et données) assez irréaliste. Citation:
Francois |
||
|
|
23
|
|
|
#157 |
![]() ![]() Yoann SculoIngénieur Linux Embarqué Inscription : janvier 2006 Messages : 685 ![]() |
En effet je comprends. Je réalise que je n'ai jamais été confronté au problème.
Car j'ai toujours travaillé sur des cibles qui ne permettent pas, quoi qu'il en soit, de faire du dev dessus. Donc pour moi de toute façon, le PC de dev sera forcément surdimensionné par rapport à la cible, donc autant avoir un bon PC. Mais je réalise que ça ne s'applique pas forcément à tous les secteurs et profils. |
|
10
|
|
|
#158 |
|
Expert Confirmé Sénior
![]() Inscription : décembre 2007 Messages : 2 541 ![]() |
Sur ma mission actuelle, je ne fais que du batch. En gros, si je passe en intégration en 6 heures, ça passe en production en 5 heures. Ca me permet de savoir si je suis consommateur ou pas(sur ce job-là, je le suis), mais franchement, les décalages de performances entre l'intégration et la production n'ont aucun impact pour moi.
__________________
Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten : 1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception 2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences 3)le temps de comprendre toutes les exigences, le projet est terminé 4)le temps de terminer le projet, les exigences ont changé Et le serment de non-allégiance : Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée. |
|
|
00
|
|
|
#159 |
|
Expert Confirmé Sénior
![]() Inscription : janvier 2007 Messages : 9 569 ![]() |
En gros (et ça devient une habitude
Le dernier gros environnement sur lequel j'ai été, grâce (!!!!!) à C++, Boost, et ses innombrables bibliothèques, le projet au total mettait plus de 4h à builder.. Maintenant, évidemment c'était le build total.. Fait une seule fois par jour, (ou plutôt par nuit).. Car nous, développeurs, nous nous servions du build précédent.. Et par conséquent cétait purement nos modules qui recompilaient.. Soit plutôt de l'odrre de 2 à 30 secondes.. Franchement, avec la puissance des machines depuis 6 ou 7 ans, peu importe d'avoir la dernière version... Compiler 500 000 lignes de code en 1 minute est quand même on ne peut plus efficace, et ne perd strictement rien en productivité.. Si par contre on n'a pas géré convenablement son projet et qu'on est obligé de tout recompiler à chaque fois, le problème n'est pas la vitesse de la machine mais l'aberration de la structuration du projet.. Comme le dit François, la perte de productivité se passe dans le cerveau : si ce n'était pas le cas, alors les mesures de délais en Points de fonctions seraient exactes, et ça se saurait depuis belle lurette (et n'aménerait pas aux échecs et dépassements répétés).. Notre travail est créatif, et totalement non linéaire... On peut avoir, sur la même machine, une productivité quasi-nulle pendant des jours, puis une productivité sans doute dix fois plus que la moyenne pendant 4h... Il serait impensable d'imaginer qu'un compositeur de musique se lève et compose pendant 8h une partition sans interruptions et au même rythme (Mozart mis à part)..
__________________
"Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle". Consultant indépendant. Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie. C, Fortran, XWindow/Motif, Java Je ne réponds pas aux MP techniques |
|
|
11
|
|
|
#160 | |
![]() ![]() Logan Développeur Java Inscription : août 2005 Messages : 1 689 ![]() |
Citation:
Par contre, un cas où tu peux perdre beaucoup de temps c'est de remonter/récupérer/reconstruire un environnement/espace/données de travail parce que t'as pas assez de place sur ton disque. C'est plus ou moins ce que je vis en ce moment.
__________________
Java : Forum - FAQ - Java SE 7 API - Java EE 6 API ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !) Une solution vous convient ? N'oubliez pas le tag ![]() Signature par pitipoisson |
|
|
|
01
|
Copyright © 2000-2013 - www.developpez.com