Closed mbdaso closed 5 years ago
- ce dos clases,
BlockBuilder
para formatear los mensajes de slack yOpenBadges
para convertir entidades en los objetos de openbadges. Esto serían adaptadores o servicios? Son clases que están pensadas para ser usadas por otra cosa, no tienen funcionalidad por si solas y no dependen de nadie. Puse las dos en adaptadores pero me pegan más como servicios.
Lo servicios son el que se usa para hablar con slack y el que se usa para hablar con OpenBadges. Si has creado clases auxiliares para preparar datos, formatear y esas cosillas, son las típicas utilidades.
Puedes tener una carpeta utils con módulos dentro de utilidad.
yo los estoy usando para detectar errores porque me parece más comodo encerrarlo todo en un
try ... except
y luego cuando escribo el método sólo lanzo una excepción y no necesito acordarme de escribir cosas como:if valor devuelto == False: print("ha habido un error")
Pero creo que ese no es el concepto de excepción no?
Eso dependen del lenguaje. Es verdad que en Java, C++, C# las excepciones son para errores excepcionales: quedarte sin memoria y cosas así.
Pero en Python es una convención usar las excepciones para notificar errores. Vamos que las funciones devuelven el resultado y si no puede dar el resultado es muy típico lanzar una excepción con el motivo del error.
En Python está bien.
Pongo algunas dudas aquí y el resto las comento en el código:
Hice dos clases,
BlockBuilder
para formatear los mensajes de slack yOpenBadges
para convertir entidades en los objetos de openbadges. Esto serían adaptadores o servicios? Son clases que están pensadas para ser usadas por otra cosa, no tienen funcionalidad por si solas y no dependen de nadie. Puse las dos en adaptadores pero me pegan más como servicios.Hay alguna regla de estilo sobre cuándo y cómo usar los
raise Exception(...)
? Así los estoy usando yo, por ejemplo en adapters/slack.py:yo los estoy usando para detectar errores porque me parece más comodo encerrarlo todo en un
try ... except
y luego cuando escribo el método sólo lanzo una excepción y no necesito acordarme de escribir cosas como:Pero creo que ese no es el concepto de excepción no?