airbnb编码风格

编程入门 行业动态 更新时间:2024-10-08 01:29:06

airbnb编码<a href=https://www.elefans.com/category/jswz/34/1768003.html style=风格"/>

airbnb编码风格

airbnb编码风格

JavaScript开发人员的愤怒情书

我喜欢函数式编程及其提出的概念。 我真的是 你知道我还真正爱什么吗? Javascript 。 它灵活,广泛且充满各种问题(就像我一样)。

在整理工作项目时,我发现抛出的整理错误中有近200个是由于使用for of迭代语法引起的。

作为我,一个合理的人(至合理的程度)决定检查他们的规格 。 当然,这对他们的团队来说真是太好了……

不。实际上,只是检查一下就让我生气。

观察以下两个代码块:

// synchronous  
function foo(args) {
return args.reduce((prev, arg) => prev.then(() => doSomethingAsync(arg), Promise.resolve())
}

async function fooStacking(args){
const stack = [];
let arg, item;
for (arg of args){
item = await someAsyncFunction(arg);
stack.push(item);
}
return stack;
}
// also, the concurrent version
async function fooConcurrent(args){
const stack = [];
for (let arg of args) stack.push(someAsyncFunction(arg));
return Promise.all(stack);
}

其中之一是功能上可读,明智且可自我记录的代码段。 另一个是由AirBnb的首席工程师撰写的 。

你猜怎么着? 他们俩都不对。

显然 ,不存在编写此函数的正确方法。

“嗨,这是道格拉斯·克罗克福德(Douglas Crockford)呼吁您一生如何做。”

这就是为什么我生气。 地球上每个JavaScript开发人员都将编写(并可能会担保)使您生气的代码,尤其是如果您不喜欢这种方式的话。

他们可能会大胆而野蛮地迫使Array.reduce方法执行它甚至不打算做的事情,或者也许他们编写的样式看起来很老旧,丑陋,看起来就像是1990年代的编程手册一样。

您(或我)无法采取任何措施阻止他们。

老实说,它是如此令人毛骨悚然,以至于没有任何意义。 甚至没有要战胜的战斗。

目前让我烦恼的事情(由于Airbnb的规格和棉绒准则):
循环显然是邪恶的 ,我应该选择使用使用循环遍历项目的函数。 您知道的... 因此,他们不必使用循环。
他们还比较break ,并continue语句GOTO 语句 ( 终极邪恶 ),但return报表基本上可以做同样的事情都breakcontinue (区别在于它的他们这样做的范围)。 AirBnb还做出了大胆的声明,即break语句仅在循环中使用。 我想这会使switchif语句也变得邪恶……
嘿,您是否正在通过Babel运行生产服务器代码? 没有? 好吧, Airbnb认为您应该做到。
还有其他一些事情,例如使用require不能接受(这对Babel项目有意义,但对Node项目不可行),并被要求在某些声明中添加过多的换行符。
为了更具建设性,我决定开始编写自己的eslint规范(并编写配套的how-to指导以告知其他人该如何做)。

编写代码时,拥有标准是很好的,结构也是如此。 但是不要让您的代码看起来像别人的代码,因为它很时髦。 制定自己的标准。 并停止关闭那些不同意您无法解释的选择的人 。

超过这一点的杂乱无章

自从我8年前开始使用JavaScript以来,它已经走了很长一段路。 我也看到了一些奇怪的地狱趋势。 当我开始的时候,就像一个狂野的JS意大利面条一样,以jQuery为王 ,而拟态统治了一切。

现在,我们生活在数字化意味着扁平化的时代。 明智地设计,显然在架构上也是如此。 设计模式正在出现,在这些函数越来越平坦的地方,甚至达到有时您甚至无法确定函数要做什么的程度。

我试图以遗留JS程序员的身份阅读某人的(夸张的)基于方法的代码。
公平地说,也许我们不再知道某个功能实际上是什么。 也许现在它超越了原始的数学根源(2015年成立)。

我认识一个人,尝试使用Object.assign直接分配给对象的__proto__ 。 每天感觉就像我进入暮光之城,在那里Object方法成为唯一的出行方式,每个人都开始看起来像Object方法。

也许我在地狱里。 不会。也许我和其他所有人一样,被风滚草的语言所困,拥有诸如TurboFans和优化器例程之类的神秘组件。

也许……也许就像您写分号的方式一样,这些都不重要。

翻译自:

airbnb编码风格

更多推荐

airbnb编码风格

本文发布于:2024-03-23 21:26:06,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1743010.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:风格   airbnb

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!