Se connecter

Informatique

Programmation

Sujet : Ide vs editeur
2
lokilok
Niveau 10
22 septembre 2021 à 22:42:59

[21:25:49] <godrik>

Le truc c'est aussi que même si je passais des jours entiers à configurer vim / emacs et installer des plugins je sais que j'aurai jamais le même niveau de fonctionnalités d'un point de vue analyse de code, refactoring, auto-completion et navigation qu'avec CLion, donc ça me motive pas trop pour le moment à creuser dans cette voie :(

En vrai j'utilise emacs relativement de base avec juste des plugins installer pour les langages que j'utilise. Pour le reste j'ai un terminal et des outils d'analyse a cote. Ca sert a rien de tout mettre dans un outils unique.

À part l'analyse de code que tu peux effectivement mettre dans un outil externe sans trop perdre en fonctionnalités / facilité d'utilisation, les fonctionnalités de navigation / refactoring / auto-complétion / génération de code en dehors de l'éditeur ça m'a l'air assez inutilisable.

godrik
Niveau 22
22 septembre 2021 à 23:04:36

les fonctionnalités de navigation / refactoring / auto-complétion / génération de code en dehors de l'éditeur ça m'a l'air assez inutilisable.

C'est possible. Je n'ai jamais vraiment eu besoin de faire ce genre de chose. En pratique, je fais beaucoup plus d'ecriture/debuggage d'algo complexe ou bas niveau que du travail sur un systeme a architecture logicielle complexe.

Quelques questions pour m'eduquer un peu.

Les gens parlent beaucoup des outils de refactoring, mais de ce que j'ai vu de l'utilisation, c'est surtout une histoire de changer le nom d'une variable ou d'une fonction. Et en moyenne un sed interactif fait tout pareil. J'imagine qu'il y a des outils de refactoring plus intelligent que ca?

Les outils de navigations, tu veux dire "aller a la fonction appellante" ou "aller a la definition de ce symbol"? ou j'ai loupe un truc plus intelligent que ca? (parceque tout ca c'est gerer depuis 25 ans.)

L'auto-completion ca m'est rarement utile, mais j'ecris assez peu de glue. En pratique j'utilise surtout l'auto-completion a partir du contenu des buffers ouverts. Emacs a de l'auto completion semantique comme pycharm fait. Jamais trouve ca utile pour moi, donc j'ai jamais regarde plus que ca.

En generation de code, il y a des trucs plus intelligent que "creer une classe qui implemente l'interface bidule"? J'imagine que codex viendra cependant.

Bunyan
Niveau 14
22 septembre 2021 à 23:27:13

Les gens parlent beaucoup des outils de refactoring, mais de ce que j'ai vu de l'utilisation, c'est surtout une histoire de changer le nom d'une variable ou d'une fonction. Et en moyenne un sed interactif fait tout pareil. J'imagine qu'il y a des outils de refactoring plus intelligent que ca?

Renommer une variable et ne rien impacter au niveau de son scope. Idem pour les méthodes/fonctions, les classes, les fichiers...
Modifier la signature de méthodes/fonctions d'une superclasse + impact sur les héritages et appelants.
Extraire des lignes de code en méthodes/fonctions + détecter automatiquement des doublons et faire les remplacements qui vont bien.
Les modifications peuvent aussi impacter les commentaire et la documentation.
La génération de code est aussi au niveau de "live template" permettant de créer du code (uni ligne ou multi lignes, avec emplacement prédéfinis du chariot) pour permettre d'aller plus vite sur les structures/lignes que l'on tape le plus souvent.

Dans l'absolu, TOUT ce que les IDE font peut être fait à coup de sed ou autre ligne de commande. Ils évitent d'avoir à connaître ces commandes, et évitent d'avoir à les taper soi-même.

lokilok
Niveau 10
23 septembre 2021 à 00:00:34

[23:04:36] <godrik>

les fonctionnalités de navigation / refactoring / auto-complétion / génération de code en dehors de l'éditeur ça m'a l'air assez inutilisable.

C'est possible. Je n'ai jamais vraiment eu besoin de faire ce genre de chose. En pratique, je fais beaucoup plus d'ecriture/debuggage d'algo complexe ou bas niveau que du travail sur un systeme a architecture logicielle complexe.

Quelques questions pour m'eduquer un peu.

Les gens parlent beaucoup des outils de refactoring, mais de ce que j'ai vu de l'utilisation, c'est surtout une histoire de changer le nom d'une variable ou d'une fonction. Et en moyenne un sed interactif fait tout pareil. J'imagine qu'il y a des outils de refactoring plus intelligent que ca?

Changer le type de retour d'une fonction, l'ordre des paramètres d'une fonction, ajouter / supprimer des paramètres d'une fonction. C'est ce que j'ai déjà utilisé en tout cas, il y en a peut-être d'autres.

Les outils de navigations, tu veux dire "aller a la fonction appellante" ou "aller a la definition de ce symbol"? ou j'ai loupe un truc plus intelligent que ca? (parceque tout ca c'est gerer depuis 25 ans.)

Bah pourtant en C++ avec les templates les outils que j'ai utilisé s'en sortent pas tous facilement encore en 2021. Mais sinon ouais ça consiste à naviguer entre déclaration / définition et utilisation de chaque symboles.

L'auto-completion ca m'est rarement utile, mais j'ecris assez peu de glue. En pratique j'utilise surtout l'auto-completion a partir du contenu des buffers ouverts. Emacs a de l'auto completion semantique comme pycharm fait. Jamais trouve ca utile pour moi, donc j'ai jamais regarde plus que ca.

En generation de code, il y a des trucs plus intelligent que "creer une classe qui implemente l'interface bidule"? J'imagine que codex viendra cependant.

Rien d'extraordinaire, mais juste plusieurs petits trucs intéressants, comme générer tous les cases d'un switch, auto-compléter les arguments d'une fonction selon le nom des paramètres qu'elle prend, ou juste des raccourcis pour des trucs que t'écris potentiellement souvent genre "type.mkshrd" qui se transforme en "std::make_shared<type>()", etc.

Rien d'extraordinaire, tu peux l'avoir avec emacs j'en suis sûr, mais c'est présent par défaut sans aucune configuration et c'est ça que j'aime bien.

2
Sujet : Ide vs editeur
   Retour haut de page
Consulter la version web de cette page