Citation:
Envoyé par
oodini
Et toi, tu as tendance à raser la forêt un peu trop facilement.
Non, j'applique des principes simples et éprouvés avant de penser à la ligne de code qui traduira ce que je veux exprimer ;)
Il n'y en a que six auxquels je tiens, mais j'y tiens absolument.
Ce sont les cinq SOLID et la loi demeter (qui permet sommes toutes de respecter une bonne partie de SOLID)
Citation:
Non. Je redonne une nouvelle vitesse statistique en km/h, en me conformant pour cela à l'interface de la fonction. La vitesse peut être sauvegardée en m/s ou en verges/heures, peu me chaut.
Mais cela t'oblige à connaitre la classe qui représente le tronçon (avec toute l'interface qu'il comporte) pour pouvoir changer la vitesse (ou le temps de parcours).
Si tu sépares correctement la responsabilité de maintenir les différentes vitesses (ou temps de parcours) de celle de représenter un tronçon de route, tu n'as absolument plus besoin de disposer de toute l'interface de ton tronçon pour aller modifier cette information: tu as mis un temps Xou Y pour effectuer un trajet, ou tu as roulé à une vitesse moyenne de A ou B pour ce faire, le reste n'a aucune espèce d'importance.
Tu arrives donc à garder des petits objets simples et autonome beaucoup plus facilement ;)
Citation:
La classe en question a pour rôle de modéliser une portion de route et toutes ses caractéristiques. On peut considérer que la vitesse statistique constatée sur cette portion de route fait partie de ses caractéristiques.
Qui d'autre aurait la responsabilité de détenir cette caractéristique, et de s'assurer de sa validité ?
Une classe à créer, qui met en relation un tronçon (son identifiant unique) et les différentes vitesses constatées (ou temps de parcours), tout simplement ;)
Citation:
Argument probabiliste, et donc sans vocation à être généraliste.
Très certainement probabiliste, mais constaté à de nombreuses reprises ;)
Et je peux t'assurer que quand tu est confronté à ce problème, ca devient vite casse pied ;)
Citation:
Primo, nous avons là affaire à un paralogisme in dictione.
Secundo, une fonction fait toujours plus que ce suggère son nom.
Elle ne devrait pas
Citation:
Quand tu donnes des directives à un codeur pour coder une classe, lui précises-tu à chaque fois de l'ajouter au projet Visual ou au makefile, de la tester, de la rajouter sur SVN/Git ?
Ne compares pas quelqu'un qui a (ou du moins qui est censé avoir) une réflexion propre avec une fonction en développement s'il te plait...
De manière générale, toute application, tout type de donnée, toute fonction n'auras jamais que la logique et l'intelligence que l'on aura pu / su / voulu lui donner, et c'est le rôle du développeur de donner cette logique et cette intelligence.
La "chose intelligente", a priori, c'est sensé (!!! :D ) être le développeur, pas ce qu'il développe, n'inversons pas les rôles ;)
Citation:
Je ne sais ce qui te donne cette impression. Je te renvoie à un dictionnaire anglais.
Ce n'est pas parce que c'est court à écrire que c'est court à exécuter.
Je ne dis pas que c'est court à écrire et donc court à exécuter.
Je dis que l'on a tellement l'habitude de voir setXXX sous la forme de m_XXX = newValue; que l'on va partir de l'a priori selon lequel c'est immédiat.
Le fait de choisir un terme plus en rapport avec le résultat obtenu (le fait de déplacer un widget par exemple, vu que c'est l'exemple qu'on a utilisé pas mal de fois, ou d'en modifier la taille) ne présente pas ce genre d'a priori ;)
Citation:
Tu n'arriveras pas à disqualifier une méthode en l'illustrant par des exemples de mauvaise utilisation flagrante.
Cela serait comme proscrire l'utilisation des voitures parce que certains ont des accidents.
Le problème, c'est que, quel que soit le mutateur que je choisirai, ce sera un exemple flagrant de mauvaise utilisation qui pourrait très bien être remplacer par un (ou plusieurs) comportements autrement plus clairs et explicites ;)
Citation:
Le fait est qu'il y a de bonnes et mauvaises utilisations.
S'agissant des mutateur, il n'y a que des mauvaises utilisations...
C'est, du moins, mon avis perso. Si tu tiens à me prouver que je me trompes, n'hésites pas à m'en proposer qui te semblent corrects, et j'en discuterai avec plaisir ;)