リファクタリング?


マイGitTubプロジェクトレポ:Repo
コミット:Commit

概要
この時間のラボでは、5つの目的は、学生がオープンソースプロジェクトをリファクタリングするためです.私がこの研究室を見たとき、実際に私は幸せになっていました.なぜなら、3回目の協力者と協力して、APIのコードが効率的に長くなってきたからです.私のクラスメートの仕事は役に立たないという意味ではありません.

何が変わったのか?
だから、これを読んだ後すぐに仕事を始めました.各リファクタリングのリファクタリング用の3つの部分を分けました.

プロミスエラーを処理するためのstart関数の追加
私は、tryとcatch関数が約束エラーを持っていることに気づきました
async function start() {
    try {
        const { argv } = getParams();
        const {
            input: fileOrDirectory,
            output: outputDir,
            stylesheet: cssUrl,
            config: config,
            lang
        } = argv;
        if(!fileOrDirectory && !config) {
            throw new Error("Please include an input filename or folder");
          }

        await convertFilesToHTML(fileOrDirectory, cssUrl, lang, outputDir, config);
    } catch (err) {
        console.error(err);
        console.log(chalk.red(err.message));
        process.exit(-1);
    }   
}

start();

組織ファイル
いくつかの関数を別のファイルに分けました.


重複部分
私はconst convertToHTMLパートを複製したので、私はawait getParamsDataawait getFileDataとして分けました
exports.convertFilesToHTML = async (filename, cssUrl, lang = "en", outputDir = "dist", config) => {
    const paramsData = await getParamsData(filename, cssUrl, lang = "en", outputDir, config);

    const fileInfos = await getFileData(paramsData.input);

    //function part for generating an index file to go to sample pages.
    await createIndex(paramsData, fileInfos);    
};

すべてのコミットを1つに結合..
すべてのリファクタリング部分(現在)を終えた後に、私はLogic
commit 10b5254e98ca6dbbfd4982dc671ec14487164821 (HEAD -> master, refactoring)
Author: jsong89 <[email protected]>
Date:   Thu Oct 14 20:14:47 2021 -0400

    Refactoring ssg to improve code maintainability:
      * added start function to handle promise error
      * organized files
      * reduced duplicated part

結論
この研究室の後、私は、何かをコミットしようとする前に、どれくらい重要であるかについて理解しました.あまりにも多くのリストがあるので、それは他の開発者がコミットのポイントであることを混乱させ、それらを邪魔するようになります.だから、私はあらゆる瞬間を慎重に不可欠な部分をコミットすることはコミットされません.