13-07-2017, 05:09 PM
Quand tu regardes objectivement, l'IDE n'a aucune valeur ajoutée en lui-même. Son seul intérêt est d'agglomérer les outils qui facilitent le dev. Tu peux parfaitement saire sans IDE, avec plusieurs fenêtres sur tes différents outils. C'est, au fond, ce que je fais aussi en partie: le SQL, je le fais en partie dans HeidiSQL (sauf les éditions de procédures, que je fais dans NB; mais la création de tables, de triggers, etc, je la fais plutôt dans Heidi car il est plus agréable à utiliser), le commit, je le fais dans Tortoise (mentalement, je préfère séparer: cela pousse à se relire).
Si tu utilises Git, tu n'as pas forcément Git sur serveur (ie: Github, ou Git entreprise comme on a ici). Du coup, git, je ne me suis pas fais chier à apprendre la moindre commande (putain, quel bordel ce truc): l'ide propose les push-button qui font les actions usuelles (et affiche les commandes associées dans la fenêtre d'output du terminal). Cela revient à installer des macros dans sa CLI (avec un bouton en plus, et le fait de ne pas s'emmerder à mettre à jour tout ça par la suite).
Dans un IDE bien fait, toutes les commandes lancées par l'IDE sont visibles quelque part, donc cela peut être utile en fait car cela permet de les apprendre: on utilise la GUI de NetBeans pour débuter, et quand la curiosité nous y pousse, on regarde les commandes que NB a lancées.
Quant à la lenteur, c'est très relatif car en pratique, je pense qu'un bundle d'outils sera tout aussi lent. L'IDE est long à démarrer (~30sec), mais une fois lancé, tu n'as plus à le fermer, et je ne note aucune lenteur. Son seul rôle est de faire de l'agglomération d'outils, et poser quelques interfaces sur les commandes. La lenteur éventuelle de l'IDE sera souvent bien moindre face à la lenteur humaine à taper les mêmes commandes (ou à aller les rechercher dans l'historique).
Perso, ce que j'utilise beaucoup dans NB et qu'on n'aura peut-être pas dans d'autres éditeurs, c'est:
• L'auto-complétion, y compris cross-langage (ie: une classe dans un fichier CSS est proposée à l'autocomplétion dans les fichiers HTML du projet)
• Le lancement d'un fichier script PHP précis avec ou sans paramètres (j'ai un script PHP qui sert à déployer le projet; le lancer facilement, c'est cool; plein d'autres applications sont possibles)
• Le debug de fichiers PHP, et la possibilité de l'activer ou de le couper à la demande (remote debug de XDebug)
• L'inclusion/exclusion de fichiers pour le parsing
• Le choix de la version PHP pour l'analyse de code (pratique quand on a plusieurs versions PHP différentes, ie, au taff on est en 5.5, sur mes projets en 7.0)
• L'intégration Mantis ou Redmine, pour voir les tickets, et l'intégration Sonar, pour éviter de commiter des code smell
• Le lancement des tests unitaires (pour du Java, c'est tout "natif" dans l'IDE, j'ai rien à configurer, et "presque" pareil pour PHP), même si je m'en sers finalement très peu
Tout cela existe sans l'IDE (= rien de tout cela n'est vraiment apporté par l'IDE; même les interfaces graphiques: Tortoise est une GUI de Mercurial, et la même existe pour Git). Mais tout regrouper ainsi, c'est pratique je trouve.
Si tu utilises Git, tu n'as pas forcément Git sur serveur (ie: Github, ou Git entreprise comme on a ici). Du coup, git, je ne me suis pas fais chier à apprendre la moindre commande (putain, quel bordel ce truc): l'ide propose les push-button qui font les actions usuelles (et affiche les commandes associées dans la fenêtre d'output du terminal). Cela revient à installer des macros dans sa CLI (avec un bouton en plus, et le fait de ne pas s'emmerder à mettre à jour tout ça par la suite).
Dans un IDE bien fait, toutes les commandes lancées par l'IDE sont visibles quelque part, donc cela peut être utile en fait car cela permet de les apprendre: on utilise la GUI de NetBeans pour débuter, et quand la curiosité nous y pousse, on regarde les commandes que NB a lancées.
Quant à la lenteur, c'est très relatif car en pratique, je pense qu'un bundle d'outils sera tout aussi lent. L'IDE est long à démarrer (~30sec), mais une fois lancé, tu n'as plus à le fermer, et je ne note aucune lenteur. Son seul rôle est de faire de l'agglomération d'outils, et poser quelques interfaces sur les commandes. La lenteur éventuelle de l'IDE sera souvent bien moindre face à la lenteur humaine à taper les mêmes commandes (ou à aller les rechercher dans l'historique).
Perso, ce que j'utilise beaucoup dans NB et qu'on n'aura peut-être pas dans d'autres éditeurs, c'est:
• L'auto-complétion, y compris cross-langage (ie: une classe dans un fichier CSS est proposée à l'autocomplétion dans les fichiers HTML du projet)
• Le lancement d'un fichier script PHP précis avec ou sans paramètres (j'ai un script PHP qui sert à déployer le projet; le lancer facilement, c'est cool; plein d'autres applications sont possibles)
• Le debug de fichiers PHP, et la possibilité de l'activer ou de le couper à la demande (remote debug de XDebug)
• L'inclusion/exclusion de fichiers pour le parsing
• Le choix de la version PHP pour l'analyse de code (pratique quand on a plusieurs versions PHP différentes, ie, au taff on est en 5.5, sur mes projets en 7.0)
• L'intégration Mantis ou Redmine, pour voir les tickets, et l'intégration Sonar, pour éviter de commiter des code smell
• Le lancement des tests unitaires (pour du Java, c'est tout "natif" dans l'IDE, j'ai rien à configurer, et "presque" pareil pour PHP), même si je m'en sers finalement très peu
Tout cela existe sans l'IDE (= rien de tout cela n'est vraiment apporté par l'IDE; même les interfaces graphiques: Tortoise est une GUI de Mercurial, et la même existe pour Git). Mais tout regrouper ainsi, c'est pratique je trouve.