Je suis assez nouveau à Java mais j'adore ça jusqu'à présent. Ma question est que je suis un peu inconnue avec des cours. Je sais ce qu'ils sont, et généralement comment travailler avec eux car je ne suis pas tout neuf pour la programmation, mais j'aimerais une opinion de professionnels. p>
J'écris actuellement un petit programme multi-threading pour lancer des sessions de shell d'alimentation parallèles en accumulant des câbles bancaires pour les machines cible dans un CSV, capturer la sortie et écrire à un CSV. P>
Dois-je tout mettre en une classe et éliminer les opérations logiques aux méthodes de la classe et les assembler? Ou devrais-je faire une classe d'exécutif de fil, CMDLine PowerShell Classe, une classe d'opérations CSV, etc. (ma pensée derrière celle-ci consistait à permettre la réutilisation du code, mais ce sera un temps de consommation d'argent et dans mon esprit impraticable depuis que je devrais préciser les types de données et types de retour pour de nouvelles situations à l'avenir). p>
Toute aide serait appréciée! P>
3 Réponses :
Il n'y a pas de "la manière" d'organiser ou de collecter des classes. Tout cela va tant que cela fonctionne comme prévu et vous comprenez ce que vous écrivez. p>
En tant que programmeur que vous n'avez besoin que, 1. Savoir et comprendre ce que vous écrivez. 2. Savoir et comprendre quel autre programmeur comme écrit. p>
J'ajouterais: faciliter la tâche des autres programmeurs de savoir et de comprendre ce que vous avez écrit, qui signifie essentiellement d'utiliser des modèles de programmation appropriés (ce qui inclut définitivement une organisation de classe appropriée).
Il n'y a pas de "façon" pour ainsi dire, C'est toute votre préférence. P>
Mais tout simplement pas en train de faire de tout en une classe. Généralement, vous voulez être aussi soigné que possible. P>
À l'avenir, vous vous remercierez d'avoir utilisé différentes classes. Si votre projet grandit et qu'un bogue est né, vous ne voulez pas regarder à travers une classe très longue, mais plutôt des pièces simples brisées. p>
Disons que vous avez ces classes: GPS, Principale, Rechercher p>
Et quelqu'un signale un bogue avec le GPS ne fonctionne pas. Au lieu de regarder partout dire, où ai-je mis le code GPS, C'est juste devant vos yeux! p>
Je suis allé au monde des liens et j'ai trouvé les informations très utiles. Jusqu'à présent, j'ai monté cela. P>
Fabriquez un package contenant des classes qui effectuent un ensemble spécifique de tâches (ne font pas non plus de kits d'utilité très généraux). Le colis dans mon cas serait appelé com.jt.threads.powershell ou quelque chose. P> Li>
Gardez les classes petites et rompez le programme par types conceptuels. (c.-à-d. Les opérations de lecture et d'écriture de données sur un système de fichiers doivent être en une seule classe avec l'accent mis sur l'aide de l'emballage à effectuer une certaine tâche ou une certaine gamme de tâches.) p> li>
Les méthodes dans les classes doivent se concentrer sur l'obtention, le réglage, la modification des attributs d'objets ou l'ajout de la logique. P> li>
Le point d'entrée de programme doit rejoindre tout ensemble, sauf dans le cas de grandes applications, auquel cas une interface doit être utilisée (en apprenant encore à leur sujet). P> Li> ol>
Avec True OOP, je ne pense pas que ce soit une bonne idée de créer du code de réutilisation, à moins que cela n'appuie une gamme de tâches très très très similaires (de cette façon si je dois changer quelque chose, il ne casse pas d'autres classes. en dehors du paquet). P>
Merci à tous! Je me sens beaucoup mieux sachant que je suis sur la bonne voie. Je craignais que, en ne faisant pas de code réutilisable dans de nombreuses situations que je faisais quelque chose de mal. J'ai commencé à programmer en Python il y a 6 mois pour mon travail, mais j'ai totalement ignoré des cours et je souhaite avoir de bonnes habitudes de programmation et appliquer le OOP de mieux que je puisse aller de l'avant! Python est définitivement pratique et une grande langue de démarrage, mais j'aimerais d'abord apprendre Java afin que je puisse obtenir une compréhension solide sur OOP. P>
Une meilleure chose à faire est de suivre les normes que possible que possible et de séparer chaque groupe de données et méthodes associées dans sa propre classe, je vous suggère de regarder cette page Java-Design-Patterns.com/principles
Rechercher le principe de responsabilité unique.
Les personnes qui ont été programmées pendant 10 heures par jour pendant 20 ans ont toujours lutte avec cette question, régulièrement (et ils se trompent souvent ... ceux qui se trompent moins souvent que les autres ont tendance à être payés plus, car droit fait partie de votre travail). En tant que tel, je pense que la question est loin, beaucoup trop large.
Regardez sur ces deux liens: en.wikipedia.org/wiki/grasp_(Object -Oriended_design) en.wikipedia.org/wiki/solid