Construire ces garanties avec le typage plutot quee dans la doc #12

Open
opened 2022-01-13 15:18:57 +01:00 by darnuria · 4 comments
darnuria commented 2022-01-13 15:18:57 +01:00 (Migrated from code.up8.edu)
/// Attention, on fait paniqué le programme si la valeur est vide, pour éviter
/// ça, il faut appeler cette fonction seulement quand `start_discord`
/// a été appelé car c'est elle qui ajoute le préfixe à `_INFO`
///
/// Je sais que c'est vraiment naze de faire ça (variable static + blocs unsafe)
/// mais c'est la seul solution que j'ai trouvé en évitant de trop étoffé avec du
/// code Discord pas très utile.
unsafe fn recuperation_info() -> &'static InformationsBot {

recuperation_info() pourrais par exemple prendre en paramettre un truc que start_discord renvoie? Ou s'appliquer sur self? On est pas en C les API-Broken-if-you-don't-dance-in-programmings-socks-at-midnight c'est relou ;P

Je suggererais d'avoir une struct, meme sans champs avec un phantomtype pour garantir que la construction est valide.

Ça eviterais toute les methodes qui Recupere X sinon panic!.

Inspiration le builder de discord.

```rust /// Attention, on fait paniqué le programme si la valeur est vide, pour éviter /// ça, il faut appeler cette fonction seulement quand `start_discord` /// a été appelé car c'est elle qui ajoute le préfixe à `_INFO` /// /// Je sais que c'est vraiment naze de faire ça (variable static + blocs unsafe) /// mais c'est la seul solution que j'ai trouvé en évitant de trop étoffé avec du /// code Discord pas très utile. unsafe fn recuperation_info() -> &'static InformationsBot { ``` `recuperation_info()` pourrais par exemple prendre en paramettre un truc que `start_discord` renvoie? Ou s'appliquer sur `self`? On est pas en C les API-Broken-if-you-don't-dance-in-programmings-socks-at-midnight c'est relou ;P Je suggererais d'avoir une struct, meme sans champs avec un `phantomtype` pour garantir que la construction est valide. Ça eviterais toute les methodes qui Recupere X sinon `panic!`. Inspiration le builder de discord.
darnuria commented 2022-01-13 15:20:12 +01:00 (Migrated from code.up8.edu)

changed the description

changed the description
darnuria commented 2022-01-13 15:20:23 +01:00 (Migrated from code.up8.edu)

changed the description

changed the description
darnuria commented 2022-01-13 15:20:52 +01:00 (Migrated from code.up8.edu)

changed the description

changed the description
darnuria commented 2022-01-13 15:22:03 +01:00 (Migrated from code.up8.edu)

changed the description

changed the description
This repo is archived. You cannot comment on issues.
No milestone
No project
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Paris8/MatterBot#12
No description provided.