Récemment, lors du développement de CloseOnion, il y a eu une série de choix de lignes technologiques, et j'ai réalisé qu'il était temps de parler de la culture de l'ingénierie d'OpenOnion.
·-- 26
Comment garantir la qualité du code ? Comment assurer une livraison fiable à long terme ?
Les valeurs d'OpenOnion sont la simplicité et la reproductibilité.
Le code doit être simple, la simplicité est exigée en termes de lisibilité et de maintenabilité. Ne vous prenez pas la tête avec votre code, nous ne nous compliquons pas la vie.
Les fonctionnalités du code doivent être réutilisables et modulaires.
La réutilisabilité garantit la cohérence globale. Elle permet également aux développeurs et aux utilisateurs de ne pas être surpris. Pour réaliser la réutilisabilité, vous choisirez naturellement de rendre vos détails d'implémentation dépendants de l'abstraction, plutôt que l'inverse.
Bien sûr, il y a beaucoup d'autres choses importantes, comme l'isolation des interfaces, les tests automatisés, l'intégration continue, la refonte régulière. Tout cela garantit la simplicité et la reproductibilité de notre code. Si vous voulez atteindre la simplicité et la reproductibilité, vous finirez par en prendre conscience naturellement. Leur objectif est de rendre le code simple et reproductible.
J'espère que dans nos futurs développements, nous pourrons toujours nous demander si cette partie du code est suffisamment simple, si quelqu'un peut le comprendre du premier coup d'œil, sans avoir besoin d'explications ou de documentation. N'utilisez pas trop de techniques ou de sucre syntaxique, écrivez de manière à ce que même un idiot puisse comprendre. Pensez si une fonction est trop longue, si la diviser en petites fonctions la rendrait plus claire et précise. Est-ce que le fichier ou la fonction actuelle est trop couplé(e), est-ce que l'abstraction dépend des détails, et est-ce que cette partie pourra être réutilisée à l'avenir ?
Chaque développeur devrait se poser les questions suivantes lors de l'écriture du code :
- Est-ce que le code est suffisamment simple ? Est-ce que les autres peuvent le comprendre d'un seul coup d'œil ?
- Est-ce que le code est facile à maintenir ? Est-ce que la modification d'une partie affectera les autres parties ?
- Est-ce que le code est réutilisable ? Est-ce qu'il peut être modulaire et utilisé ailleurs ?
- 代码是否过度耦合? 是否实现了细节依赖抽象的原则?
En se posant continuellement ces questions, nous pouvons garantir que le code reste simple, clair et maintenable, et ainsi réaliser nos valeurs fondamentales : la simplicité et la reproductibilité.
Seules ces principes permettront de rester compétitif dans un environnement technologique en constante évolution et de fournir continuellement des logiciels de haute qualité.