202109 til-3四半期のレビュー

4299 ワード

...21年3/4四半期の回顧記事で、cleanコードを読んでから書きます.

21年6月から9月にかけて振り返る

  • の間に開発を行ったときの感想を振り返ってみましょう.いくつかの話題を中心に言いたいことを書きたいです.

    1つ目-命名意識の育成

  • には~Client~というお客様に関するドメイン名があります.当社はいくつかの業務を行っているので、FrontEndという用語よりも、Cladan~Cla~がよく使われているのではないかということに注意しなければなりません.想像以上にコミュニケーションが必要です.だから~Client~という言葉を消して、Customer Wordingで単語を変えました.これはコードだけではなく、整理されたgoogledogsドキュメントの中で、MySQLで書かれたER-Dファイルの中でも修正が必要です.その他など...思ったより一つの用語を変更し、かなりの攻守を投入した.
  • 私が担当している部分はPOC感覚のパイロットプロジェクトなので、すぐに修理しました.用語の変更の事実を2、3人ぐらいの会社の同僚に伝えればいいのですが、「くわで恩静道をスリリングに遮った」と思います.最初に用語を少し考えておけば節約できる半日の時間と、それまでの混同を反省します.
  • 2番目-隠し意味のない読み取り可能なコードを作成します。

  • の合計価格を購入する必要がある場合、例えば、物品A、B、Cがそれぞれの数量と価格を持っている場合、これら3つの物品の購入総額を求めてロールバックする必要がある場合がある.streamのみを使用する場合は開きますが、機能が追加されています.ドメインの特殊性のため、価格と数量が正確であっても、特定のBoolean flagはBoolです.Falseの場合は、その商品の価格を0に設定する必要があります.
  • 最初に作成されたコードは、3つの演算子
  • を使用します.
     .stream~
     .getIsFlag() ? value.multiply(0) : value.multiply(1)
     .stream~
  • の後、理解できないクレームを受け、コードを読んだ後、これは隠れた美、汚いコードであることに気づいた.私はこれがコードであることを知っていて、それは不要な演算を増加して、また可読性の悪いコードを増加して、努力して結果に影響しない演算を処理した後に、それを0に乗じます.
    .filter(obj -> !obj.getIsFlag())
    .stream~
    .stream~
  • の上の方で少しトリミングしました.ストリーム上流のフィルタが変更され、結果が影響を受けない部分が演算されなくなります.だいぶよくなったように見えます.
  • 3つ目-APIドキュメントの提供方法をさらに検討します。

  • のバックエンド開発者によって作成されたAPIを使用してフロントエンド開発者が使用するには、APIの使用方法ドキュメントを提供する必要があります.最初から最後までAPIの使い方を含むドキュメントを作成するのは時間がかかり、困難であるため、Java陣営は多くのドキュメントガイドツールを提供しています.私たちが以前使っていたのは生意気で、自分の好みに合わせて調整するために&いろいろな理由で、会社と個人で初めてREST Docsを導入しました.最初に導入された主な参照リンクは宇亨技術ブログ李浩真が書いた2018年の文章である.
  • 22021年、初歩的な開発者として、REST Docsの司会をしていたときにいくつかの問題に遭遇しました.例えば、ドキュメントに表示されているServer side EndpointのURLはいつも「localhost:8080/api/~」で始まり、実際に接続する必要があるアドレスは「mysite.dev/api/~」でなければなりません.ポート番号とドメイン名を変更する問題は:POST REQUESTにハングルが1つ含まれていると、500個のエラーなどが発生します(幸いなことに、上記の2つの問題はいずれもFilterとUTF-8で符号化されており、簡単に解決できます).善良で実力のある開発者の先生たちが親切に書いたドキュメントを見て、私は解決しました.
  • ですが、まだ解決されていない問題があります.最も重要な点は、REST Docsを導入することですが、同時に「ドキュメントのすべてのフォーマットとフォーマットを自分で作成しなければならない」という欠点もあります.REST Docsを使っている人(最近はCoquで一緒に勉強している人も導入していますがハハ)共通の難点は、REST Docs自体が直接ドキュメントを生成していないことです.このモジュールはクリップのみを提供し、ユーザー(開発者)はディレクトリまたは同じ情報を説明ボックスとして表示するか、テーブルに整理して表示するかを指定します.また、get method APIを利用するために、他のドキュメント化サポートパッケージのフォーマットもありますが、EST Docsにはこのフォーマットはありません.最初から自分で作る...ㅠㅠ
  • 数回の試行を経て、
  • はPOCプロジェクトを成功裏に完了し、すべてのエンティティとドメインのAPIを成功裏に記録した.しかし、APIドキュメントを学ぶために必要なASCIDOCの新しい文法の学習曲線という障害に多くの時間を費やす必要があり、作成者も閲覧者も見知らぬAPIガイドドキュメントを書くのに多くの時間を費やしており、私の書く能力は非常に残念です.
  • 例えば
  • は成長潜在力が高く、パイロット(開発者)の熟練度と実力の要求が高いLolチャンピオンJacksはREstdOCSを考えている.
  • 最後-SubTypeとValue-Objectを減らしすぎた

  • の拡張機能は、内部に使用されるクラスをネスト-静的内部クラスに変更し、特定のクラスでのみ使用されるサブタイプクラスを1つのクラスに配置することで、コードの密度をある程度向上させることです.
  • 3行コードの概要

  • を読んだ後、コードは
  • であることが分かった.
  • は難しそうです
  • 私のコードはエラーコード
  • です.
    真の概要リンク: