Inoft Vocal Engine Docs
Francais (V1)
Francais (V1)
  • Introduction
  • Installation
  • FAQ
  • Concepts des assistants vocaux
    • Activation par invocation
  • Fonctions partagés
    • Recevoir une requête
    • Etat à choix multiples
    • Synthèse vocal basique
    • Réponses avancées & SSML
      • SpeechsList
      • Speech
    • Montage audio dynamique
    • Réponses
  • Plateformes
    • Alexa
      • Elements visuels
        • Conditions d'hébergements d'images
        • Carte Basique
      • Fonctions
        • Untitled
    • Google Assistant
    • Samsung Bixby
    • SIRI
  • Classes et application
    • Démarrage rapide
    • Résumé de toutes les classes
    • InoftSkill (application)
    • InoftRequestHandler
    • InoftStateHandler
    • InoftDefaultFallback
    • InoftCondition
    • InoftHandler
    • InoftHandlersGroup
  • Fonctionnalitées partagées
  • Réponses
  • Classes
  • Conventions techniques
    • Noms de classes
    • Réutilisation des mêmes choix
Propulsé par GitBook
Sur cette page

Cet article vous a-t-il été utile ?

  1. Conventions techniques

Noms de classes

Tous les conseils situés plus bas ne sont en aucun cas des nécessités techniques, uniquement les conventions de l'Inoft Vocal Framework

1 - Quel est un bon terme pour l'activation de votre classe ?

Pour une classe gérant le lancement, ce qui la déclenche est le démarrage ou le lancement de l'application, donc "Start" ou "Launch" est un bon terme représentant la classe.

2 - Ajouter le type de classe que vous utiliser

Si votre classe est un InoftRequestHandler, ajouter-y à votre terme RequestHandler, si c'est une classe InoftStateHandler, ajouter-y StateHandler, etc...

3 - Pour les choix multiples (InoftStateHandler), décrivez leurs logique :

Pour vous y retrouver plus facilement quand vous les appellerez, essayer de décrire dans le nom ce que fait votre choix multiple. Par exemple, si votre choix vas dire un fait à l'utilisateur si il répond "Oui", nous pourrions le synthétiser en "SayFactOnYes"

4 - Suivez les conventions de Python

Principalement, de garder le noms de classes courts, et que chaque mot dans le nom de votre classe commence par une majuscule.

Voici toutes les conventions sur les noms de classes en actions :

class YesCondition(InoftCondition):
    def can_handle(self) -> bool:
        return self.is_in_intent_names(["AMAZON.YesIntent", "YesIntent"])

class StartRequestHandler(InoftRequestHandler):
    def can_handle(self) -> bool:
        return self.is_launch_request()

    def handle(self) -> dict:
        self.say("Est-tu prend pour éteindre ton premier fait ?")
        self.memorize_session_then_state(SayFactOnYesStateHandler)
        return self.to_platform_dict()

class GetFactRequestHandler(InoftRequestHandler):
    def can_handle(self) -> bool:
        return self.is_in_intent_names("GetFact")

    def handle(self) -> dict:
        from messages import MSGS_FACTS
        self.say(f"{MSGS_FACTS.pick()} Veut-tu un autre fait de fou ?")
        self.memorize_session_then_state(SayFactOnYesStateHandler)
        return self.to_platform_dict()

class SayFactOnYesStateHandler(InoftStateHandler):
    def handle(self) -> dict:
        if YesCondition(self).can_handle():
            return GetFactRequestHandler(self).handle()
        else:
            self.say("Tu ne veut pas de fait ? MON DIEU !! AUREVOIR !")
            self.end_session()
            return self.to_platform_dict()

En Python le nom d'une classe ne peut pas contenir d'espaces, de caractères spéciaux, ou commencer par un chiffre.

PrécédentClassesSuivantRéutilisation des mêmes choix

Dernière mise à jour il y a 5 ans

Cet article vous a-t-il été utile ?