Questions fréquemment posées

Existe-t-il un outil équivalent à Doxygen, Javadoc ou pydoc ?

Oui, c'est l'outil OCamldoc qui fait partie de la distribution OCaml. La documentation est ici.

Y a-t-il une organisation des fichiers sources propre à OCaml ?

Non, chacun est libre d'organiser son code comme il veut. En particulier, il n'y a pas de lien entre arborescences de fichiers et noms des unités de compilation. La seule contrainte est que le nom d'un module dépend du nom du fichier source: le code qui se trouve dans un fichier foo.ml ou Foo.ml correspond à un module Foo. Plus de détails ici.

Comment développer efficacement en OCaml ?

Qu'est-ce que l'efficacité ? Comment la mesure-t-on ? Peut-on seulement le faire ?

Si on entend par "efficacement" une sorte de rapport entre temps passé à développer, nombre de fonctionnalités implémentées et "qualité" du code (peu de bogues, rapidité d'exécution, peu d'occupation mémoire, ...), alors c'est surtout la pratique régulière et l'habitude des outils utilisés qui fait la différence.

Ensuite, il est tout à fait possible d'implémenter une fonctionnalité très vite, mais de façon ne permettant pas des extensions futures. Est-ce efficace ?

De manière générale, on pourra avantageusement éviter de se poser ce genre de questions qui appellerait une réponse absolue, ce qui permet déjà un gain de temps puisqu'une telle réponse n'existe pas.

Ensuite, comme avec n'importe quel autre langage, mais aussi pour n'importe quelle autre activité, on aura à cœur d'une part d'avoir une réflexion sur ses pratiques, pour les améliorer selon ses besoins, d'autre part de regarder comment font les autres (utilisation d'autres outils, de techniques particulières) pour s'en inspirer et éventuellement les adopter.