【JavaScript】コードレビューをしてもらった。
背景
ビxリーチに常駐していた際、コードレビューをしてもらった。
完全に自分用のメモ。特にその3のコードだけ見てもなにがなんだか第3者は分からないと思います。💦
その1
// 退職日
const { deactivateAt } = employmentInfo;
// 最終出社日
const { lastDay } = employmentInfo;
↓
// 退職日, 最終出社日
const { deactivateAt, lastDay } = employmentInfo;
その2
const taskName = {
キー:値,
キー:値
};
↓
const TASK_NAMES = ...
・複数形
・定数なので大文字スネークケース
その3
APIを叩くと以下のような値が返ってくる
[{"id":"74","fields":{"F001":[],"F002":["P002"],"F003":["P003"],"F004":[]}}]
値の文字数が0なら未完了リストに入れて、入れ終わったら先頭に名前を入れる
let i = 0;
if (tasks.status !== 404) {
Object.entries(tasks[0].fields).forEach(([key, value]) => {
if (value.length === 0) {
incompleteList.push(`- ${TASK_NAMES[key]}`);
i += 1;
}
});
if (i > 0) {
incompleteList.splice(-i, 0, `\n${peopleCode}:${peopleName}さんの未完了タスク\n${url}`);
}
} else {
incompleteList.push(`\n${peopleCode}:${peopleName}さんの未完了タスク\n${url}`);
Object.keys(TASK_NAMES).forEach((key) => {
incompleteList.push(`- ${TASK_NAMES[key]}`);
});
}
↓
イメージ1:forEachをつかったやり方。配列Aを作って最後に配列Bにいれる。
// 社員の未完了のタスクを入れるローカル変数に入れてから、全体のincompleteListに入れる方法
const incompleteTasks = []
Object.entries(tasks[0].fields).forEach(([key, value]) => {
if (value.length === 0) {
incompleteTasks.push(`- ${TASK_NAMES[key]}`);
}
});
if (incompleteTasks.length > 0) {
incompleteList.push(`\n${peopleCode}:${peopleName}さんの未完了タスク\n${url}`);
incompleteList.push(...incompleteTasks);
}
イメージ2:エンジニアっぽい書き方。filterとmap使う
// forEach ではなく、filter と map を使って配列を作る
const incompleteTasks = Object.entries(tasks[0].fields).filter(([key, value]) => {
value.length === 0
}).map(([key, value]) => `- ${TASK_NAMES[key]}`);
if (incompleteTasks.length > 0) {
incompleteList.push(`\n${peopleCode}:${peopleName}さんの未完了タスク\n${url}`);
incompleteList.push(...incompleteTasks);
}
この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
気軽にクリエイターの支援と、記事のオススメができます!