Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tsnobip/best-practices-and-fp
Programmations fonctionnelle et bonnes pratiques de développement logiciel
https://github.com/tsnobip/best-practices-and-fp
best-practices functional-programming rescript
Last synced: 11 days ago
JSON representation
Programmations fonctionnelle et bonnes pratiques de développement logiciel
- Host: GitHub
- URL: https://github.com/tsnobip/best-practices-and-fp
- Owner: tsnobip
- Created: 2023-10-05T13:13:56.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-19T12:16:44.000Z (11 months ago)
- Last Synced: 2024-04-23T02:21:42.770Z (7 months ago)
- Topics: best-practices, functional-programming, rescript
- Language: ReScript
- Homepage: https://tsnobip.github.io/best-practices-and-fp/
- Size: 2.4 MB
- Stars: 0
- Watchers: 2
- Forks: 9
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: docs/.github/CONTRIBUTING.md
- Funding: docs/.github/FUNDING.yml
Awesome Lists containing this project
README
# Programmations fonctionnelle et bonnes pratiques de développement logiciel
Ce dépôt contient les sources de mon cours d'introduction à la programmation fonctionnelle et sur comment
celle-ci peut faciliter le suivi des bonnes pratiques de développement logiciel.Ce cours est originellement destiné aux élèves de l'École des Mines de Saint-Étienne.
## Consultation
Le cours est accessible en ligne [ici](https://tsnobip.github.io/best-practices-and-fp/).
## Contribution
Si jamais vous souhaitez contribuer à ce cours, vous pouvez forker ce dépôt et
apporter les modifications que vous souhaitez.Ce cours utilise [reveal.js](https://revealjs.com/) pour la présentation.
Le contenu du cours en lui-même est à retrouver dans `docs/index.html`.
Vous pouvez également créer une issue si jamais vous voyez des coquilles, des erreurs à corriger,
ou si vous avez des commentaires à faire pour améliorer ce cours.## Exercice
### Instructions
> [!IMPORTANT]
> Vérifiez d'abord que vous votre ordinateur dispose de :
>
> - git
> - node (v16 ou supérieure)
> - vscodePour commencer, [forkez](https://github.com/tsnobip/best-practices-and-fp/fork) le dépôt.
Clonez-le sur votre ordinateur :
```
git clone [remplacez-ceci-avec-l'adresse-de-votre-fork]
```Une fois cela fait, ouvrez le dépôt avec vscode, ouvrez un terminal dans la barre du bas et installez les dépendances:
```
npm install
```Installez les plugins recommandés.
Pour lancer le compilateur en mode "watch" et voir le résultat de la compilation, faites:
```
npm run res
```Vous pouvez maintenant aller dans le fichier [MyAgenda.res](exercise/MyAgenda.res) pour
implémenter la fonction `oneRecommendationEveryDay` en obtenant les informations
nécessaires grâce aux fonctions du module [API](exercise/API.resi).> [!NOTE] Le type `API.Event.t` est volontairement suboptimal, nous en discuterons ensemble lors du prochain cours.
### Rendu
Une fois que vous êtes satisfaits de votre implémentation, faites une Pull Request pour que
je puisse examiner votre code et que nous en discutions au prochain cours.### ReScript
> [!TIP]
> N'hésitez pas à aller sur la [documentation officielle](https://rescript-lang.org/)
> pour en apprendre plus sur ReScript !ReScript ressemble globalement à JavaScript, il y a évidemment des différences :
- il est statiquement typé, pensez donc à créer vos types avant de les utiliser
- il est immutable par défaut, il n'y a donc pas de `const`, `let` est déjà constant par défaut
- les fonctions peuvent avoir des paramètres nommés, lisez la [documentation](https://rescript-lang.org/docs/manual/latest/function#labeled-arguments) à ce propos