最近、CloseOnionの開発プロセスで、いくつかの技術的なルートの選択肢がありました。OpenOnionのエンジニアリングテクノロジーの文化について話す時が来たと感じました。
·-- 5.26
コードの品質を保証するにはどうすればよいですか? 長期にわたる信頼性のあるデリバリーを保証するにはどうすればよいですか?
OpenOnionの価値観は、簡単で再現可能です。
コードはシンプルである必要があります。シンプルさは可読性と保守性の要件です。自分自身と戦わないでください。We don't fuck up our brain.
コードの機能は再利用可能で、モジュール化できる必要があります。
再利用可能性は全体の一貫性を保証します。また、開発者とユーザーの両方が最小限の驚きを保つためのものです。再利用可能性を実現するためには、実装の詳細が抽象に依存するのではなく、抽象が詳細に依存するように自然に選択するでしょう。
もちろん、インターフェースの分離、自動化テスト、継続的インテグレーション、タイムリーなリファクタリングなど、多くの外部要素も重要です。これらはコードが簡単で再現可能であることを保証するためのものです。簡単で再現可能にするためには、これらに自然に注意を払うようになるでしょう。これらの目的はすべて、コードを簡単で再現可能にするためです。
将来の開発において、コードのこの部分が十分にシンプルであり、他の人が説明書やドキュメントに頼らずに理解できるかどうかを常に考えてほしいです。トリックやシンタックスシュガーを過度に使用しないでください。バカでも理解できるように書いてください。ある関数が長すぎて、それをより明確にするために分割することができるかどうかを考えてください。現在のファイルや機能が過度に結合されているかどうか、抽象が詳細に依存しているかどうか、将来的にこの部分を再利用できるかどうかを考えてください。
コードを書く際に、すべての開発者は次の質問を自問してください:
- コードは十分にシンプルですか?他の人は一目で理解できますか?
- コードはメンテナンスしやすいですか?ある部分を変更すると他の部分に影響を与えますか?
- コードは再利用可能ですか?モジュール化して他の場所で使用できますか?
- 代码是否过度耦合? 是否实现了细节依赖抽象的原则?
これらの質問を継続的に自問することで、コードをシンプルで明確かつ保守可能な状態に保つことができ、私たちのコアバリューである「簡単で再現可能」を実現できます。
これらの原則を堅持することで、技術が絶えず変化する環境で競争力を維持し、高品質なソフトウェア製品を持続的に提供することができます。