Je ne vois pas pourquoi elle ne le ferait pas
Si elle s'en tient à ce que l'on pense (définir une nouvelle valeur pour le coin qui correspond à sont point de départ), on n'a strictement aucune indication de ce qu'elle peut faire de son "coin opposé"
Si elle le modifie aussi, elle ment sur ce qu'elle fait car elle en fait plus que ce qu'elle ne dit.
Mais si elle ne le modifie pas, il faudrait trouver un nom qui indique le changement de l'état de l'objet, non![]()
tu peux faire un enabled sur un objet déjà activé aussi, ou serait le problèmePas nécessairement, il peut faire un setEnabled(true) sur un objet déjà activé.
Le code correspondant avec enable() et disable() serat proche deon perd peut etre quatre lignes de code, mais on gagne en lisibilité
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 bool b; while(1) { if(b == true) // allez if (b) obj.enable(); else obj.disable(); b!=b; }(sans perdre en performances
)
Mais dans ce cas là pour changer la taille, la font (Times new Roman, ...) on pourrait utiliser des "set" (?)
je n'ai pas réfléchi à ce point particulierMais il devrait etre possible de trouver des noms cohérents, tu ne crois pas
Qu'on le pense à tord ou à raison ne change rien...Est-il vraiment censé faire que ça? La définition de "set" ne dit que c'est un "changement vers un état défini" ce qui peut impliquer d'autres opérations. Ne serait-ce pas plutôt parce qu'on pense (à tord) qu'il serait censé faire que cela ?
Le problème est qu'on puisse le penser
C'est bien pour cela que j'ai parlé de resize et que j'ai bien indiqué (avec un peu de retard, je te l'accorde) que les arguments devraient etre une différence de taille et non la nouvelle taille (d'autant plus que l'auto-complétion après laquelle tu sembles pleurer donne généralement ne nom des arguments à passer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Le problème c'est que si un jour, <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">changeSize<span style="color: black;">(</span><span style="color: black;">)</span></span> devient répandu, on sera confronté au même problème qu'avec <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">setSize<span style="color: black;">(</span><span style="color: black;">)</span></span>, des personnes penseront qu'elle ne peut faire qu'une seule chose et n'iront pas voir la documentation.)
C'est sans doute aussi grave, mais on le répète assez ce RTFM, et ca n'ennuie que celui qui ne l'aura pas fait (alors que le const cast a des répercussions au niveau du code et des sécurités que l'on tente de mettre en placeDès lors ne peut-on pas considérer le fait de ne pas aller voir la doc quelque soit la fonction/méthode comme une erreur aussi grave que de faire un cast_const à tout va ?)
Si ce n'est qu'il est beaucoup plus facile de faire quelque chose de résistant à quelqu'un qui n'a pas (ou mal) lu la doc qu'à quelqu'un qui décide d'utiliser const castNous ne serions alors pas responsable des erreurs que ferait un programmeur qui ne lirait pas la doc comme nous ne sommes pas responsable si un utilisateur s'amuse avec cast_const ?
Nous sommes d'accordCar c'est bien d'essayer de faire un code le plus intuitif et le plus "idiot-proof" mais en C++, dès qu'on veut faire une bêtise, rien ne peut nous en empêcher.
Par exemple rien ne m'empêche de récupérer l'adresse d'un objet stocké dans un container et de faire un delete dessus.
Si quelqu'un veut se tirer dans le pied, il aura toujours moyen de le faire, meme si tu met le fusil sous clé
Mais, est-ce une raison pour le laisser faire des bêtises manifestes![]()
Partager