javascript - 函数式编程函数节奏
问题描述
我有一个软件项目,其中有一堆检查一件事的功能。所以代码看起来像这样:
const isRed = color => color === 'red;;
const isBlue = color => color === 'blue';
function whichColour(color){
if(isRed(color){
return 'X'
}
if(isBlue(color){
return 'Y'
}
}
这只是一个例子,应用程序有很多这些功能可以检查一件事。我认为拥有所有这些功能,只做一件事,是符合函数式编程范式的。
但是最近我一直认为这样做会更好:
const isColor = (color, targetColor) => color === targetColor;
function whichColor(color){
if(isColor(color, 'red'){
return 'X'
}
if(isColor(color, 'blue')){
return 'Y'
}
}
我认为它们都具有可读性,您可以看到所需的值,并且可以节省大量空间,因为我确实拥有很多这些小功能。但是,我不确定哪个实际上更好。
让我知道你的想法。
解决方案
更好的方法是总体上减少重复代码数量的方法,因为它在大多数情况下使代码更整洁、更平易近人。所以第二种方式是我在这种情况下会采用的方式。我建议做的唯一更改是命名方法sameColor
或colorMatch
.
推荐阅读
- entity-framework-core - 如何正确引用聚合集合?
- selenium-webdriver - 单击网站上的每个链接和一级子链接时,出现未处理的弹出窗口
- powerapps - 如何在 PowerApps 中动态地将 Person 列的 DisplayName 属性传递给 SortByColumns 函数
- html - 我想链接 html 和 css 文件。但不起作用
- javascript - 如何让删除按钮在这段代码上工作
- angular - 测试将类添加到角度 7
- android - 谁为 Firebase 令牌初始化连接?
- axapta - 访问 DataEntity:InvalidoperationException,“给定模型不包含类型 'Microsoft.Dynamics.Ax.Xpp.EdtArray`1[System.Decimal]”
- powerbi - 更改 power bi 中的数据标签
- python - 在 Keras 中实现注意力