[JAVA] J'ai participé au JJUG CCC 2019 Fall.
J'ai participé au JJUG CCC 2019 Fall.
Participé à l'événement pour la première fois en six mois avec Java! !!
Connaissance de base de la programmation orientée objet apprise en Java
Matériel du présentateur
- La pensée orientée objet peut être appliquée au développement de logiciels
- L'engagement de M. Masuda dans la programmation orientée objet
--Modularité
--Split le programme par type (type valeur)
--Faire un module avec un moule
--Séance
--Méthode de développement qui élimine les coutures d'une série d'activités
- Des mots que je veux que vous rapportiez à la maison
--Type
- Encapsulation
--Deux modes
--Mode 1
- N'utilisez que des types prédéfinis
- Bibliothèques standard et types intégrés uniquement
--Type consommateur
--Mode 2
--Définissez votre propre type
- Producteur de moules
―― Qu'est-ce que l'amélioration des compétences de programmation orientée objet?
- Passage du mode 1 au mode 2
- Compétences en conception de classe
--Compétences pour découvrir et améliorer des types uniques
--Résumé
--Encapsulez la chose conceptuelle de type dans une classe
--Donner à la classe une définition de la plage de valeurs et une définition du fonctionnement des valeurs
Impressions
C'était complètement différent de ce que je pensais à l'avance, mais c'était assez intéressant
13: 30-14: 15 Ouvert! Porte design pilotée par domaine
[Matériel du présentateur (non disponible)](non disponible)
Aperçu
Qu'est-ce qu'une conception pilotée par domaine?
Est-ce que c'est bon?
Comment dois-je le faire? (Par ici, c'était trop rapide pour faire une note)
Mémo quand j'ai entendu
--Motivation
――Pourquoi la conception pilotée par domaine?
- Qu'est-ce que la conception sans domaine?
- Se perdre dans la forêt de code
- Implémentations liées à la diffusion
- Objectif
――L'utilisateur du logiciel et le code sont connectés
- Pratique pour améliorer la maintenabilité, pas la vitesse de développement
- Qu'est-ce que la conception axée sur le domaine?
- Qu'est-ce qu'un domaine?
- Quelle est la portée du logiciel?
--Le domaine et le code sont connectés via un modèle
- Ce sera un développement itératif
--En amont des connaissances
- Expert de domaine
--Ouvrier
- Des personnes qui savent ce qui est important
- Les personnes qui consultent les développeurs lors du choix d'un domaine
- Les développeurs doivent parler à des experts du domaine
--Utilisez la langue omniprésente
―― Des mots que tout le monde peut comprendre
- Comprendre en utilisant la langue de l'autre partie
- Une compréhension mutuelle approfondie
- Composant
«Il est trop tôt pour prendre note. ..
- À un modèle profond
――Je ne peux pas tout saisir depuis le début
――Le pouvoir de la conversation est important
- Capturez les nuances momentanées
- Je ne déteste pas le refactoring
--Résumé
――Qu'est-ce que la conception axée sur le domaine? Pratiques pour mettre en pratique ce qui est courant
Impressions
C'était intéressant car il y avait une histoire qui a conduit à "des connaissances de base de la programmation orientée objet apprises en Java".
Il y avait de nombreux points que je ne pouvais pas suivre car c'était trop rapide.
14h30-15h15 Réintroduction à JUnit
Matériel du présentateur
Note
――Pourquoi écrire le code de test
--Parce que les tests de régression sont possibles
--Grande fiabilité
――Ne laissez pas la personnalité
--Confirmer l'achèvement du débogage lors de l'exécution
――Debak est amusant
―― Des dommages psychologiques surviennent lorsque les humains signalent des erreurs. .. .. ..
- Conseils de test
- Écrivez d'abord le test
- Mis en œuvre après confirmation de l'échec du test
--Mise en œuvre après avoir garanti l'échec
--Donner un nom de test descriptif
- Ecrire le nom du test en japonais
- Tous les membres de l'équipe doivent parler couramment le japonais
- Ne pas écraser l'assertion
――Écrire en unités modérément organisées
--Utilisez assertAll au besoin
- Ne soyez pas trop précis sur la couverture
- Ne pas tester le code éprouvé
- Pas besoin de tester le getter et le setter
Impressions
J'ai senti que la première moitié était pour les débutants et la seconde moitié était importante
À l'heure actuelle, il n'a pas été développé pour Test First, donc je voulais l'améliorer.
Je souhaite particulièrement travailler sur les tests d'interface utilisateur.
16: 45-17: 30 Cas de rupture avec l'énorme système hérité de Name.com, où la troisième année des nouveaux diplômés a été confrontée
Matériel du présentateur
Note
- Qu'est-ce qu'un système hérité?
--Comportement comme prévu
- Le code interne est compliqué et difficile à maintenir
- Coût de maintenance élevé
--Problèmes de rupture avec les systèmes existants
- Pas de documentation sur les spécifications (spécifications)
- Certaines parties sont compliquées et difficiles à corriger (mise en œuvre)
- Implémenté en Java pur
- Une mise en œuvre difficile à comprendre
--Définir par requête brute
- Informations de réglage solides
- La responsabilité de classe est ambiguë
- Aucun code de test unitaire (test)
- Solution
- Pas de documentation sur les spécifications (spécifications)
- Partagez tous ensemble sur le wiki
--Laissez des informations détaillées sur le code dans git lorsque par magie
- Certaines parties sont compliquées et difficiles à corriger (mise en œuvre)
- Implémenté en Java pur
--Sélection de JDK
--Sélection du cadre
--Sélection de l'architecture de l'API Web
- Une mise en œuvre difficile à comprendre
- Prévention de la personnalité en effectuant des revues de code
- Implémentation standard selon le cadre
--Définir par requête brute
--Introduction du cadre
- Informations de réglage solides
- Unifier les informations de réglage sur YALM
- Responsabilité de classe
- Clarification des responsabilités pour chaque couche
- Conception qui n'affecte pas les autres modules
- Aucun code de test unitaire
--Introduction de JUnit
--Introduction de Mockito
--Pour le futur
- Le strict respect des règles et un entretien régulier sont requis
- Sinon, ça devient un héritage
Impressions
Je regarde souvent le système interne, mais il est souvent difficile de comprendre la mise en œuvre.
Je pense qu'il existe de nombreuses opportunités pour lutter contre les systèmes hérités. (Les réparations seront bientôt effectuées ...)
Je vais l'utiliser comme référence pour savoir comment se battre! !!
Impressions de tout l'événement
J'ai assisté à une conférence pour débutants, mais je n'arrivais souvent pas à suivre la quantité d'informations.
→ Je souhaite que vous réduisiez la quantité d'informations, par exemple en limitant le nombre de diapositives
J'ai été surpris que le déjeuner était magnifique
→ C'était délicieux. Merci beaucoup.
Je voulais aussi entendre parler de Gradle
→ La première étape pour ceux qui comprennent parfaitement Gradle de ne rien comprendre
Je veux me concentrer sur l'écoute des tests d'interface utilisateur
← ça m'intéresse maintenant