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}