コード管理者リファクタリングのレッスン



今までの話.
OSD 600コースが始まったとき、私たちはTXTファイルからHTML文書を作成するために静的サイトジェネレータツールを作成するように頼まれました.それから、スタイルシートのようなHTMLファイルをカスタマイズするために余分なオプションを追加するように頼まれました.週間の進捗状況として我々はプロジェクトに多くの機能を追加しました.私は、私のコードが各々の操作のために同じパターンに続いていたことに気がつきました.

改善
この研究室のリファクタリングの焦点は、私のYargs設定オプション用のモジュールを作成し、私の繰り返したコードをリファクタリングして、このようにすべてのHTMLテンプレート文字列を再入力する代わりに呼び出すことができる関数へのリファクタリングです.

以前は、generatePAR ()を呼ぶ代わりに、ファイルタイプをチェックしているTXT“if”ステートメントの中で繰り返し/map/joinとregexpを繰り返しました.さらに、あなたは気づくかもしれない
let styles = argv.s ? `\n<link rel="stylesheet" href="${argv.s}">` : "";
これは以前は文のチェックでした
if(argv.s){render the whole html template + link tag}
この改善された方法で、私は単に“スタイル”変数を私のHTMLテンプレートに追加することができます.これにより、2 - 3繰り返しのif文を削除し、コードを読みやすくすることができました.
私は、Markdownセクションで同じことをして、H 1、H 2とPタグを取り扱う別々の機能を作りました.繰り返しテンプレートコードを削除して関数を追加し、TXTでスタイルタグを変更しました.

yargsconfig.js
ヤスコードに関して、私はmoduleを作りました、そして、「argv」値へのアクセスを得るために、私のメインファイルでそれを必要としました.これは、私が私の主なtexttohtmlを作るのを助けました.ヤスのセットアップコードがそれ自身のファイルとtexttohtmlに置かれたので、JSファイルは非常にクリーナーです.JSはファイルロジックを処理します.

スカッシュ.野菜ではなく.

最後に、合計4のコミットを行い、git rebase - I mainを使用して変更を1コミットにしました.全体的なコマンドは非常に直感的であり、私は私の第一コミットを選択し、他の人を押しつぶすことができました.その後、コミットメッセージをリネームして、「モジュール化のためにrefactored texttohtml . js」という名前の下にあるようにしました.最終コミットへのリンクはhereである.
読書ありがとう!