6.9建築家を認識する

この章を読んだとき、少しイライラしましたか?信じてください、あなたは一人ではありません。実際、この章で説明するトピックを明確に説明するには、製品の知識や要件の理解など、多くの前提条件が必要であるだけでなく、ある程度のコーディングトレーニングも必要であり、私たちのチームに従うことがさらに適切です。しばらく転がった後、誰もが本当にそれを認めることができます。

このため、この章の内容を説明するときは、具体的な技術的な詳細ではなく、さまざまなアーキテクチャの概念の進化に意図的に焦点を当てました。私の心の中で、その構造は生きていて成長しており、あなたが他の人の構造を直接取り除くことは困難です。しかし、見ることは一種の力であり、他の人が一連の優れたアーキテクチャを反復できることを考えると、私たちの脳のミラーニューロンは、その経験を「体験」するために一生懸命働き始めます。

ミラーニューロンは、最近の脳科学研究の成果です。ミラーニューロンの存在により、私たちは模倣して共感することができます。他の人の注射を見ると痛みを感じ、他の人が呼吸していると眠くなります。他の人がピアノ音楽を演奏しているのを見ると、突然ピアノを習いたくなります。 。

誰もが自分の気持ちに注意を払うように努力する必要があります。他の人の優れたデザインコンセプトを確認した後、多くのアイデアを頭に入れたいと思うかもしれません。このデザインコンセプトを自分の製品に適用すると、どのようになり、そしてできるだけ早く最終的な期待が生まれます。外観を記録します。知覚できない力は非常に強力であり、あなたは将来の仕事でそれを無意識のうちに使用します。私を信じて、時があなたを驚かせます。

◇◇◇

建築学習の理解に関して、私はいくつかの回り道をしました。昔、建築は頭の中で輝かしい語彙でしたが、インターネットをさまようと、かなり古典的な建築であるMVCモデルを見つけました。これは非常に古典的なプログラムアーキテクチャの考え方であり、プログラムを3つの部分(モデル、ビュー、コントローラー)に分割して、プログラムの階層化と分離の効果を実現します。

私はこのアーキテクチャ設計を理解でき、MFCライブラリ、qt、Web開発なども知っています。すべてこのアーキテクチャの使用を学習しましたが、自分の製品でしか使用できません。

それだけでなく、後で「ギャングオブフォー」と呼ばれる「デザインパターン」の本を何度も読んだのですが、きっと理解できると思いますが、商品としてはまだ使えません。

最初は自分が作った製品が低すぎるのではないかと思って、使用しませんでした。後で、私はインターネットに多くのデザインパターンを簡単な例で示すことができる素晴らしい人がいることを発見しました。ただ、建築を設計する能力を身につけることはできません、ちょっと、それを忘れてください、私は平凡な人です、なぜあなた自身に迷惑をかけるのですか?

既製のアーキテクチャ設計は学習されていませんが、作業はまだ継続する必要があります。私たちの製品のコード再利用率を高めるために、私たちのチームは多くの戦略を考え出しました初期のレイヤー、インターフェイスの抽象化、コールバック関数から始めて、多くの不思議なアイデアがゆっくりと浮かび上がります。不注意に、全員が「デザインパターン」の本を再び開いたとき、彼らはほとんどのデザインコンセプトが既に使用されていることを発見しましたが、それらのほとんどは高品質ではありません。この時、コントラストを振り返ると、はっきりとした感覚が出てきます。

現時点では、誰もが簡単にアーキテクチャを学ぶのは難しいことに気づきましたが、よく理解すれば、優れたアーキテクチャはそれ自体で成長することができます。この経験から、私がチームを率いるときは、さまざまなアーキテクチャと設計パターンをすばやく理解するよう全員に依頼し、最初に、階層化、抽象化、キャッシング、メッセージキューなどの基本的な戦略について十分なトレーニングを行い、最後にすべてのエネルギーを投入しました「握る」ための要件に焦点を当てます。

◇◇◇

長年のエンジニアリング経験により、私たちのチームはいくつかの優れたグリッパーを探索し、それを全員と共有しました。

  1. アーキテクチャ設計は、実際の製品の無数のプログラムモジュールを編成するために最初に使用されるため、プログラムの静的および動的なアーキテクチャは重要であり、厳密な階層化が出発点として適しています。

  2. アーキテクチャは、プログラムモジュールの編成だけでなく、チームメンバーの編成にも使用されます。グラフィカルアーキテクチャの設計とチームのコンセンサスへの内部化は、アーキテクチャの反復を支援するだけでなく、チームの構築にも役立ちます。さらに、統一されたディレクトリ構造、ツール、構成環境なども、チームメンバーが暗黙の理解を形成するのに役立ちます。

  3. アーキテクチャの反復を維持したい場合は、再利用が出発点として適しています。成熟したプラットフォームに基づく新製品のコード再利用率を厳密に制御できれば、自然に一連の再利用可能なアーキテクチャ(新分野の新製品)が反復されます。再利用の要件は適切に緩和する必要があります)。

  4. 複雑なソフトウェアモジュール、または複数の製品で使用される可能性のあるモジュールは、作成に比較的費用がかかり、ビルドを開始するときに再利用性を十分に考慮する必要があります。さらに、これらのより小さなモジュールは、新規参入者の成長のはしごであり、人材を調整するため、誰もが能力を向上させ、チーム全体の開発に貢献する機会があります。

  5. アーキテクチャを設計するときは、製品そのものに焦点を当てるだけでなく、マーケティング、生産、エンジニアリングも考慮する広い視野を持つ必要があります。これらの領域に焦点を合わせると、多くの興味深いニーズが生まれます。たとえば、私たちのチームの設計製品では、各リンクの観測点に細心の注意を払っています。これらの観測点は、問題をその場ですばやく見つけるのに役立つだけでなく、製品の品質を継続的に改善するのにも役立ちます。また、異なるメーカーの製品を組み合わせると、多くの会話を節約できます。

  6. コンポーネント化、スクリプティング、仮想環境はすべて、ソフトウェア業界で繰り返される優れた戦略です。これらの戦略は、製品開発の進捗を加速するだけでなく、市場の変化に迅速に適応し、激しい競争に勝ち残るのに役立ちます。したがって、建築家も業界の動向に適切に注意を払う必要があります。

  7. アーキテクチャーのイテレーションの過程での蓄積に注意してください、この点で、以前に紹介したナレッジベースは良いツールであり、評価メカニズムを導入する効果はより良くなります。

  8. 人材育成を建築設計に統合します。実際、アーキテクチャを設計する際には、チームメンバーの構成や能力レベルなどの多くの要素を考慮する必要があります。最良のアーキテクチャーはまったくなく、制約の下で最も適切なアーキテクチャー設計のみです。

これらのグリッパーはテクノロジーに焦点を当てており、より重要なグリッパーがあります。それは人間の性質です。

アーキテクトとは何ですか?プログラム構造の編成、チームの手配、人材のトレーニング、各リンクとの通信などが必要ですが、これらは特定のタスクです。誰もが上司や会社の視点から考えようとします。

上司の目には、建築家は製品とお金です。私が上司であれば、優れたアーキテクトを採用する限り、彼は自分のチームを構築してトレーニングし、市場が必要とする製品を迅速かつ適切に製造します。

したがって、優れた建築家は非常に希少で価値があります。職場で長年働いた後、私はようやく個人の収入が彼の仕事の態度、残業、仕事量などとあまり関係がないことを理解しました。最大の影響要因は「不足」であり、建築家になることはあなたを不足させるでしょう。

友達、職場、チケット、家、品格、美少女を魅了するために、登っても建築家の立場に登らなければなりません。Onboarding-team-abstraction-architecture-reuse-quality-standardization、手順はすべての人のために設定されており、多くの実践的な手順があります。自分を信じて、あなたは間違いなく優れたアーキテクトに成長します。

——————————————

目次に戻る

私はXiaomaerです。良心と魂を切望する組み込みソフトウェアエンジニアです。あなたの会社を歓迎し、旅行してください。興味がある場合は、個人のWeChat アカウントnzn_xiaomaerを追加し通信することができます異次元」という言葉に注意する必要があります

おすすめ

転載: blog.csdn.net/zhangmalong/article/details/107113396