UNâŻCHOIXâŻDIFFICILE
â
â
â
â
â
BONJOUR
(mais lâinformatique mâaime â€ïž)
CE QUE JâAIâŻAPPRIS
CâESTâŻQUOIâŻLIIPâŻ?
LESâŻPROJETS
ĂVOLUTION DE LIIP
CE QUE JâAIâŻAPPRIS
INTERLUDE
INTERLUDE
ETâŻMAINTENANTâŠ
CâESTâŻQUOIâŻEHRO ?
QUELQUES-UNS DE NOS CLIENTS
CE QUE JâAIâŻAPPRIS
ETâŻMAINTENANT⊠(BIS)
CâESTâŻQUOIâŻPETZI ?
CE QUE JâAIâŻAPPRIS
CONSEIL 1/12
Si vous en avez la possibilité
CONSEIL 2/12
Liste, map, set, etc.
CONSEIL 3/12
CONSEIL 4/12
đ©
class Order:   is_cancelled: bool   cancelled_at: datetime | None
đ
class Order:   cancelled_at: datetime | None       def is_cancelled(self):     return self.cancelled_at is not None
đ©
class Request:
is_loading: bool
is_error: bool
error_message: str
is_success: bool
đ
class Request:
status: RequestStatus
class RequestStatus:
pass
class RequestStatusLoading(RequestStatus):
pass
class RequestStatusError(RequestStatus):
error_message: str
class RequestStatusSuccess(RequestStatus):
pass
CONSEIL 5/12
đ©
def synchronize_user(user_id):
# Initialize the API client
client = ApiClient()
# Fetch the user from the API
user = client.fetch_user(user_id)
# Set nb_orders
user.nb_orders = user.nb_orders or 0
# Persist the user
DatabaseRepository().persist_user(user)
def synchronize_user(user_id):
client = ApiClient()
user = client.fetch_user(user_id)
# The API returns null if the user has
# no orders
user.nb_orders = user.nb_orders or 0
DatabaseRepository().persist_user(user)
đ
CONSEIL 6/12
Par exemple Elm
CONSEIL 7/12
En Python: breakpoint()
CONSEIL 8/12
CONSEIL 9/12
CONSEIL 10/12
CONSEIL 11/12
DERNIER CONSEIL
POURQUOI đâŻ?
LE ZEN DE PYTHON
PréfÚre:
   la beauté à la laideur,
   l'explicite à l'implicite,
   le simple au complexe
   et le complexe au compliqué.
Prends en compte la lisibilité.
Ne passe pas les erreurs sous silence.
Il ne devrait y avoir qu'une et une seule façon de procéder.
Si l'implémentation s'explique difficilement, c'est une mauvaise idée.
Si l'implĂ©mentation s'explique aisĂ©ment, c'est peut-ĂȘtre une bonne idĂ©e.
>>> import this
RESPONSABILITĂS ĂTHIQUES
Sylvain Fankhauser
geniesducode.com
@sephi@tooting.ch
sylvain@fankhauser.name
đš
MerciâŻ!