L'IA a contribué à changer et à accroître l'efficacité de mon travail quotidien
En tant que développeur, créer un service de traitement des commandes peut parfois sembler insurmontable lorsque vous disposez d'un délai limité. Cependant, grâce à la puissance des outils de développement basés sur l'IA tels que ChatGPT, vous pouvez accélérer considérablement le processus en générant du code, en concevant des entités et en résolvant les problèmes étape par étape. Dans cet article, je vais vous expliquer comment j'ai utilisé ChatGPT pour créer un service de traitement des commandes entièrement fonctionnel en seulement 2 jours, de la collecte des exigences à l'achèvement.
Honnêtement, il existe de nombreux petits fils de discussion et invites pour différentes petites tâches que je ne peux pas résumer dans un projet complet, mais dans l'ensemble... cela m'a aidé à 70 - 80 %. De plus, voici une partie du code original, après l'avoir examiné, il a peut-être été modifié à la main, vous ne trouverez donc peut-être pas cette fonction sur github que j'ai partagée.
La première chose que j'ai faite a été de lister les fonctionnalités de base requises pour le service. Voici les principales fonctionnalités dont j'avais besoin :
J'ai demandé à ChatGPT de m'aider à concevoir la structure de l'API pour les exigences. Voici un exemple de la première invite que j'ai utilisée :
Rapide:
Créez des points de terminaison d'API pour un système d'enregistrement d'utilisateurs à l'aide de Spring Boot, où les utilisateurs peuvent s'inscrire avec leur nom, leur numéro de mobile et leur adresse.
Résultat : ChatGPT a généré plusieurs points de terminaison :
Pour le service de traitement des commandes, nous avions besoin d'entités pour l'utilisateur, la franchise, la commande, la file d'attente et l'article de commande. J'ai utilisé ChatGPT pour définir ces entités avec les champs nécessaires.
Rapide:
Concevez l'entité utilisateur pour le système. L'utilisateur peut avoir un numéro de mobile, une adresse et un rôle (comme CLIENT).
Résultat : ChatGPT a fourni une entité utilisateur simple utilisant JPA :
@Entity public class User { @Id @GeneratedValue(strategy = GenerationType.AUTO) private UUID id; @Column(nullable = false, unique = true) private String username; @Column(nullable = false) private String password; private String mobileNumber; private String address; private UserRole role; // CUSTOMER, ADMIN }
J'ai répété ce processus pour les entités Franchise, Commande et File d'attente.
Une fois l'API et les entités de base configurées, je suis passé à la mise en œuvre d'une logique métier pour le passage des commandes. Il s'agissait de la partie critique du service car elle devait gérer plusieurs éléments du menu et gérer les positions dans la file d'attente.
Rapide:
Implémenter la logique pour passer une commande avec plusieurs articles, où chaque article est lié à un menu spécifique dans la franchise.
Résultat : ChatGPT m'a guidé dans la conception d'un OrderService pour gérer cela. Voici une partie de la mise en œuvre :
public Order createOrder(UUID customerId, UUID franchiseId, Listitems) { Order order = new Order(); order.setCustomer(userRepository.findById(customerId).orElseThrow()); order.setFranchise(franchiseRepository.findById(franchiseId).orElseThrow()); List orderItems = items.stream() .map(itemDto -> new OrderItem(menuItemRepository.findById(itemDto.getMenuItemId()), itemDto.getQuantity())) .collect(Collectors.toList()); order.setItems(orderItems); order.setQueuePosition(findQueuePositionForFranchise(franchiseId)); return orderRepository.save(order); }
Ensuite, j'ai demandé à ChatGPT de m'aider à concevoir la logique permettant de placer un client dans la file d'attente et de suivre sa position.
Rapide:
Comment puis-je calculer la position dans la file d'attente et le temps d'attente pour une commande dans un système de franchise de café ?
Résultat : ChatGPT a suggéré de créer un QueueService qui suit les commandes et leur attribue des positions en fonction des horodatages. Je l'ai implémenté comme suit :
public int findQueuePositionForFranchise(UUID franchiseId) { Listqueue = customerQueueRepository.findAllByFranchiseId(franchiseId); return queue.size() 1; }
Il a également fourni des conseils sur l'estimation des temps d'attente en fonction du temps moyen de traitement des commandes.
Enfin, j'ai implémenté la logique permettant aux clients d'annuler leurs commandes et de sortir de la file d'attente :
public void cancelOrder(UUID orderId) { Order order = orderRepository.findById(orderId).orElseThrow(); queueService.removeFromQueue(order.getQueue().getId(), order.getId()); orderRepository.delete(order); }
À la fin du deuxième jour, je disposais d'un service entièrement fonctionnel qui permettait aux clients de :
J'ai encore quelques étapes pour créer la documentation, utiliser liquidbase et demander à chatGPT de générer des exemples de données pour des tests plus faciles.
Construire un système de traitement des commandes pour un café en 2 jours peut sembler intimidant, mais avec l'aide de l'IA, c'est réalisable. ChatGPT a agi comme un assistant de codage, m'aidant à transformer rapidement des exigences abstraites en un système fonctionnel. Même si l’IA peut constituer une base, affiner et personnaliser le code reste une compétence essentielle. Ce projet m'a appris à maximiser la valeur des outils d'IA sans perdre le contrôle du processus de développement.
En suivant les étapes que j'ai suivies, vous pouvez accélérer vos propres projets et vous concentrer sur la résolution de problèmes de plus haut niveau, en laissant la génération de code de routine et les conseils à l'IA.
Github source complète
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3