3Fermer5
ZephLe 17/07/2016 à 22:32
Pen^2 (./2) :
Je suppose que ton refactoring à base de grep n'est absolument pas limité par sa portée, et personnellement ça me semble limite suicidaire — deux variables portant le même nom sont renommées même si elles n'ont rien à voir et qu'elles sont dans des portées différentes ?
Le grep est là pour trouver les occurrences, pas effectuer les remplacements : dans tous les cas (y compris avec un outil automatique) je préfère vérifier ce qui va être affecté. C'est de moindre intérêt pour un renommage de variable (mais là encore c'est pas vraiment le cas d'utilisation qui m'intéresse le plus), en revanche pour des choses plus impactantes je préfère passer en revue ce que je modifie même si l'outil m'assure que ça compilera encore après le changement (ce qui est une bonne chose, mais insuffisante je trouve).
Pen^2 (./2) :
Je ne partage pas tellement ton opinion concernant le fait qu'il soit néfaste de devoir avoir à disposition un bon IDE pour apprécier le langage. Pour moi c'est un peu comme les gens qui disent que le C++ est un bon langage et que ça n'a rien à voir avec le fait que la STL soit de qualité discutable.
Pour moi, le langage, le framework et l'IDE forment un tout, et tous les trois concourent à une bonne efficacité.En fait je ne vois pas ce que ça apporte de pertinent de les évaluer séparément.
Du coup tu vois l'intégralité de ta chaine logicielle comme une seule brique ? Je vois l'IDE comme un outil optionnel au développement, au même titre que mon OS, Git, mon framework de test, ou encore Firefox et les CSS quand je fais du développement web. Comme pour tous ces autres exemples j'aime bien pouvoir choisir un à un les logiciels que j'utilise et prendre ceux qui me semblent les plus adaptés ; en l'occurrence pour mes projets perso c'est très souvent des outils simples parce que je n'ai pas besoin des fonctionnalités que m'apporterait une IDE et que j'ai l'impression d'être plus productif de cette façon (pour refaire le lien avec l'origine de la discussion).

La question me semble tout aussi pertinente pour C++, puisque tu cites cet exemple : dirais-tu aux gens qui font régulièrement du C++/Qt qu'ils ont fait un mauvais choix parce que la STL est pourrie, alors qu'ils ne l'utilisent pas ? Tout l'intérêt d'une chaine logicielle modulaire c'est de pouvoir choisir les maillons, je trouve un peu dommage de se fermer à cette possibilité.
Pen^2 (./2) :
Tiens, d'ailleurs, tu fais comment pour dessiner tes fenêtres de GUI avec notepad++ (ou équivalent) ? Tu fais tes fenêtres manuellement ?
Non en effet, c'est un bon exemple, c'est l'un des cas où j'utilise une IDE. En l'occurrence je fais plutôt ça en C# et j'utilise SharpDevelop qui est minimaliste comparé à Visual Studio, essentiellement parce qu'il apporte cette fonctionnalité. Après ça ne me semblerait pas non plus absurde de faire à la main : c'est comme ça que je fais du web et ça a aussi ses avantages (meilleur contrôle sur le résultat, langage déclaratif souvent plus concis pour obtenir un résultat donc reviews de code plus faciles, etc.).



Petit c/c de ma réponse à Folco sur IRC, suite à une remarque très pertinente de sa part :
22:32 <@Zeph> pour moi c'est ça la clé de la discussion
22:33 <@Zeph> les gens qui mettent l'accent sur la facilité d'écriture du code ne pourront pas s'entendre avec ceux qui mettent l''accent sur la facilité de lecture
22:33 <@Zeph> exemple basique : un langage comme Perl, qui te propose 654 raccourcis pour faire du code plus concis, mais tout le monde s'accorde à dire que c'est illisible
22:35 <@Zeph> perso je considère qu'un code, ***dans un projet à plusieurs*** (c'est la partie importante), sera lu N fois (avec N > 1) alors qu'il sera écrit 1 fois22:35 <@Zeph> donc je privilégie toujours la lecture à l'écriture