OTAKU / Aperçu

Une philosophie pour le logiciel orienté objet

otaku@manifesto:~$ cat OTAKU.md

La structure est une décision,
pas un accident.

OTAKU est une philosophie pour le logiciel orienté objet. Cinq contraintes décident ce qui a le droit d’exister dans le code ; trois formes décident comment les dépôts s’organisent. Rien ici n’appartient à un langage — seulement au paradigme.

Pourquoi cela existe

Les frameworks sont excellents jusqu’au jour où il faut remplacer une pièce — et ils exigent alors de toutes les remplacer. L’échappatoire habituelle est la réécriture, qui remplace un jeu de contraintes accidentelles par un autre. OTAKU parie l’inverse : une architecture faite de pièces assez petites pour être comprises d’un coup, et remplaçables sans permission.

Le nom est un acronyme, et aussi un tempérament : une obsession technique de la maîtrise, de la discipline et de la pureté structurelle — la volonté de supprimer une abstraction astucieuse parce qu’elle ne tient pas en une phrase.

Comment lire ce livre

Ce qu’il refuse

  • Des frameworks qui fuient dans la couche domaine.
  • Des dépôts qui ne se classent ni en atome, ni en assemblage, ni en application.
  • Des abstractions créées avant le deuxième cas d’usage réel.
  • Des méthodes au-delà d’une complexité cyclomatique de 5.
  • Des interfaces publiées sans contrat.
Écrivez du code qui n’aura jamais besoin d’« être réparé », parce qu’il a été construit sous contrainte absolue.

Portée

OTAKU est né dans PHPRise, mais PHP n’est que le point de départ. Les règles mesurent l’indentation, la complexité, les dépendances, les contrats et le nommage — des concepts que tout langage orienté objet exprime. Le guide couvre PHP, C#, Java, C++ et TypeScript.

Si votre langage a des classes, des interfaces, des exceptions et un gestionnaire de paquets, la philosophie s’applique. Sinon, ce n’est pas le bon outil — et c’est une réponse légitime.

Ce chapitre est pour l’instant disponible uniquement en anglais.