ホームページ  >  記事  >  ウェブフロントエンド  >  コードと Git の歴史をリファクタリングします!

コードと Git の歴史をリファクタリングします!

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-09 12:26:02431ブラウズ

今週のラボでは、コードの構造、可読性、モジュール性、保守性を向上させるために、コード内の少なくとも 3 つの点をリファクタリングおよび改善することになっています。そして、git コミット履歴 (リワード、スカッシュ、ドロップなど) を変更するための git rebase についても紹介します。

コードのリファクタリング

私はコードベースをきれいに保つことにかなり熱心に取り組んできました。これは、さまざまなグループ、個人プロジェクト、そして最後の共同作業で働いていたときに学んだことですが、技術的負債は現実のものであり、それが積み重なり、ある時点まで積み重なり、リファクタリングにスプリントを捧げるしかないということです。コードベース全体を無視するか、単に無視してください。そのため、最初から、コードの重複がないように、util ディレクトリ内の個別の関数で機能を抽出してきました。複数回必要がない場合は変数を宣言する代わりにインライン メソッド呼び出しを使用し、非常に説明的な変数名を使用します (1 文字の変数名を好む人はいません)。したがって、一見したところ、リファクタリングする必要はあまりありませんでした。それに加えて、これが先週の一貫性のためのメジャー リファクタリングというタイトルの最後の PR であり、多くの構文エラーを修正し、Readme をいくつか更新しました。それで、ラボが発表される前に、3つのことのうちの1つを実行しました(笑)。しかし、私が気に入らなかったのは、index.js が肥大化していたことです。私はそれを見て、専用メソッドのロジックの一部を抽出して、ファイルをスリムに保つことができると考えました。そこで、新しいユーティリティ メソッドを 2 つ作成しました。 ExtractOptions.js は、オプションまたは toml 構成からすべてのオプションを抽出します。また、ResponsePresenter.js は、オプションに応じてコンソールへの出力とファイルへの書き込みを単独で行います。それが私がやったことです。その結果、index.js の 46 行が 7 行に置き換えられます。

Git 履歴のリファクタリング

別のブランチで作業し、リベースして単一のコミットを作成した後、それをメインにマージしました。しかし、メイン リポジトリの履歴がどのようになっているかが気に入らなかった。以下に見られるように、9 月 26 日のコミットは私が望んでいたものではありません。

Refactoring code and Git history!

そこで、リベースを使用してコミットを潰し、名前を変更して、より直線的な履歴を持つようにしました。私はリベースインタラクティブを使った経験があるので、非常に簡単でした。メインの git 履歴を変更するという大罪を犯したため、すべての変更を反映してメイン リポジトリを更新するには、リモートに強制プッシュする必要がありました。これで、まさに希望通りの見た目になりました。

Refactoring code and Git history!

PR スカッシュがマージされ、物事がシンプルかつクリーンに保たれるため、すべてのコミットをメイン ブランチにのみ置くことを好みました。個人的には、メイン リポジトリをローカルで作業するのは好きではありません。

以上がコードと Git の歴史をリファクタリングします!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。