[JAVA] Lors de la mise à jour de ma propre application, j'ai sérieusement réfléchi à la structure du package

Il y a une application que j'ai créée par moi-même, TwitMorse, mais jusqu'à présent, elle a une structure de package décente. Je n'y avais jamais pensé, alors j'ai décidé d'y penser après la rééducation.

Réfléchir correctement à la structure du package

En termes simples, gérer les classes avec un rôle spécifique dans des dossiers séparés. S'il est développé par une seule personne, cela peut ne pas être nécessaire parce que si cette personne sait quel rôle joue la classe, cela peut ne pas être nécessaire, mais chaque fois que la fonction est étendue, «Quoi? Vraiment?! "

Par exemple Les classes qui convertissent des chaînes, etc. vont dans le dossier nommé "chaînes" Les classes responsables du système d'affichage d'écran sont regroupées dans des dossiers (répertoires) tels que "ui" et "fragments" s'il s'agit de fragments.

Je voudrais vous présenter un article facile à comprendre. > J'ai écrit précédemment que les packages sont utiles pour gérer les classes, mais il y a d'autres avantages à les utiliser. > Du coup, les noms de classes en double ne sont pas autorisés. Même si le traitement est différent, il n'est pas autorisé. Je ne pense pas qu'un tel problème se produira probablement si vous le développez vous-même, mais si vous le développez avec un grand nombre de personnes, vous risquez d'en souffrir. > Cependant, si le package est différent, le nom de la classe peut être couvert! En effet, différents FQCN peuvent distinguer les classes. > Par exemple, même s'il y a plusieurs personnes avec le même nom et le même nom dans la même école, vous pouvez les distinguer par classe et par groupe, non? C'est le même. Extrait de Introduction to Java Package Management.

Je vais juste refactoriser

Le travail auquel j'ai commencé à penser qu'il s'agissait simplement de creuser un répertoire et d'y mettre un fichier java, c'est étonnamment ennuyeux.

スクリーンショット 2017-05-04 15.56.58.png

Eh bien, divisez-le comme ça et ne laissez que ceux qui n'en ont pas plus d'un à l'extérieur (je ne connais pas la bonne méthode)

Le développement Android est Android Studio, mais chaque fois que cet enfant déplace un fichier vers un répertoire, il demande "Refactor?". J'ai choisi «oui» sans penser à rien.

Se souvenir du rôle de la classe, penser à la distribution et terminer le travail de transfert ... En essayant de construire

** Yanke rouge vif ---------- **

▂▅▇█▓▒ ° ('ω') ° █▇▅▂ Wow ah ah ah ah

La raison pour laquelle cela se produit est Parce que je n'ai pas séparé les paquets

Les méthodes protégées ne peuvent pas être appelées. Jusqu'à présent, il était protégé car il était dans le même package, mais maintenant que la structure du package a changé, de nombreuses méthodes ont été créées qui ne sont pas accessibles (ne peuvent pas être utilisées) à partir d'autres packages à moins qu'elles ne soient rendues publiques.

Je suis accro à ce piège et il faut 30 minutes pour écraser l'erreur.

C'était vraiment utile avec une putain de petite application.

En résumé, vous devez bien réfléchir à la structure du package lors de la création d'un projet

Si vous le faites vous-même comme moi, vous penserez: "Je le développe moi-même, et ce n'est pas grave si c'est un package", mais quand je joue avec le projet après un long moment, je ne comprends pas pourquoi. Si vous essayez de l'éliminer, vous devrez combattre l'enfer des erreurs comme un désastre secondaire.

** Vous devriez bien réfléchir à la structure du package! Premier! !! Même les individus! !! !! ** **

J'ai remarqué cela, alors je l'ai posté sur qiita pour la première fois depuis longtemps comme rééducation.

Recommended Posts

Lors de la mise à jour de ma propre application, j'ai sérieusement réfléchi à la structure du package
À propos du paquet
[Ruby] J'ai réfléchi à la différence entre each_with_index et each.with_index
[Java] J'ai réfléchi aux mérites et aux utilisations de "interface"
Lorsque j'ai essayé d'exécuter mon propre service, il a échoué, alors je l'ai vissé dans le planificateur de tâches
Quand j'ai retrouvé mon esprit sur Tribuo publié par Oracle, la personne à l'intérieur était une personne sexy.
[Swift] J'ai pensé à comparer
[java] Ce que j'ai fait en comparant des listes dans ma propre classe
Ce à quoi j'ai pensé lorsque j'ai commencé à migrer de Java vers Kotlin