Javascript 如何按照Bobby叔叔';s清洁代码';这是一条不写太多的规则

Javascript 如何按照Bobby叔叔';s清洁代码';这是一条不写太多的规则,javascript,function,coding-style,Javascript,Function,Coding Style,我正试图按照博比叔叔的指示尽可能少地生成函数。他说一个函数应该做一件事,当没有其他东西可以从中提取时,你就知道它已经准备好了。问题是我觉得我的代码太大了,因为我从一个函数中提取了所有可以提取的东西。我可以制作更小的函数,但我决定在我发疯之前停下来寻求帮助。有谁能快速看一下我的代码,告诉我我做的是否正确?谢谢 // delete previously display colors function deletePreviouslyDisplayedColor(fontColors, bgColor

我正试图按照博比叔叔的指示尽可能少地生成函数。他说一个函数应该做一件事,当没有其他东西可以从中提取时,你就知道它已经准备好了。问题是我觉得我的代码太大了,因为我从一个函数中提取了所有可以提取的东西。我可以制作更小的函数,但我决定在我发疯之前停下来寻求帮助。有谁能快速看一下我的代码,告诉我我做的是否正确?谢谢

// delete previously display colors
function deletePreviouslyDisplayedColor(fontColors, bgColors) {
    let trash = document.querySelectorAll('.trash');

    for (let i = 0; i < trash.length; i++) {
        trash[i].addEventListener('click', () => {

            // check if wether color belongs to bg or font
            checkIfBgOrFontColor(trash[i], bgColors, fontColors);
        })
    }
}


// check if wether color belongs to bg or font
function checkIfBgOrFontColor(trash, bgColors, fontColors) {
    // get trash parent
    let parent = trash.parentNode;

    // check if color belongs to bg
    if (parent.classList.contains('prev-bg-color')) {
        // remove click bg color
        removeColors(bgColors, parent);
    }

    // color belongs to font
    // remove click font color
    removeColors(fontColors, parent);
}


// remove bg or font color on click
function removeColors(el, parent) {
    let color = parent.querySelector('.prev-color').style.background;

    // remove spaces
    color = removeSpaces(color);

    // get color index in the array
    let index = getColorIndexInTheArray(el, color);

    // remove color from it's array index
    removeColorFromItsArrayIndex(el, color, index);

    parent.remove();
    return;
}

// remove color from it's array index
function removeColorFromItsArrayIndex(el, color, index) {
    while (el.indexOf(color) !== -1) {
        el[index] = '';
    }
}

// remove spaces
function removeSpaces(el) {
    return el = el.replace(/\s/g, '');
}

// get color index in the array
function getColorIndexInTheArray(el, color) {
    return el = el.indexOf(color);
}

export { deletePreviouslyDisplayedColor }
//删除以前显示的颜色
函数deletePreviouslyDisplayedColor(fontColors、bgColors){
让trash=document.querySelectorAll('.trash');
for(设i=0;i{
//检查颜色是否属于背景色或字体
checkIfBgOrFontColor(垃圾[i]、bgColors、fontColors);
})
}
}
//检查颜色是否属于背景色或字体
函数checkIfBgOrFontColor(垃圾桶、bgColor、FontColor){
//获取垃圾父对象
让parent=trash.parentNode;
//检查颜色是否属于背景色
if(parent.classList.contains('prev-bg-color')){
//删除点击bg颜色
移除颜色(bgColors,父级);
}
//颜色属于字体
//删除单击字体颜色
RemoveColor(FontColor,父级);
}
//单击可删除背景或字体颜色
函数RemoveColor(el,父级){
让color=parent.querySelector('.prev color').style.background;
//删除空格
颜色=移除空间(颜色);
//获取数组中的颜色索引
让索引=getColorIndexInTheArray(el,颜色);
//从其数组索引中删除颜色
去除颜色矩阵索引(el、颜色、索引);
parent.remove();
返回;
}
//从其数组索引中删除颜色
函数removeColorFromItsArrayIndex(el、颜色、索引){
而(el.indexOf(颜色)!=-1){
el[指数]='';
}
}
//删除空格
函数移除空间(el){
返回el=el.替换(/\s/g');
}
//获取数组中的颜色索引
函数getColorIndexInTheArray(el,颜色){
返回el=el.indexOf(颜色);
}
导出{deletePreviouslyDisplayedColor}