no-nested-ternary
三元表达式在简单的判断取值中使用,还是很简洁的,但是当遇到嵌套逻辑时,可读性就变得很差,实际项目中,我是这么要求团队=》禁用。
1 | var foo = bar ? baz : qux === quxx ? bing : bam; |
no-nested-ternary
为了约束这类代码的存在,eslint中会增加no-nested-ternary
。
规则介绍戳这里
最近阿里发布了
阿里巴巴Java开发手册(泰山版)
,花了点时间阅读下,这里MARK下个人感受
so,没规约,不见得单个问题解决不好,但不久的将来,一定出问题,害人害己。
之前年终Review时,与同事探讨一个项目总是会面临各种情况,而项目底层的架构,也是一直在发展,架构背后的人也是在发展,面对这种发展,我们需要系统反思、调整、分享。只有这样才能校正,才能统一整个team的认知等。
在交流中同事推荐我去了解
Architecture Decision Records (ADRs)
,这个概念之前只是喵了一眼,毫无印象,答应要学也一直没有去学=》惭愧。于是今天还债。
ADR全称Architecture Decision Records
,汉化后就是架构决策记录
,之所以有这样一个概念,其背景正如上述我所提到的,项目是一个变量,在发展,而在这变化中,我们需要去系统记录梳理这些变化点。对于所有的成员也需要一种形式可以了解这些,而最合适的就是文档化。
当前装饰器还只是ES提案[Stage 2],在过去,还没定下来的东西,我们无话可说。但今天,项目中使用的是TypeScript,Babel,本身存在转译,所以我们往往可以用些超越当前的特性。比如Angular2框架中就有装饰器的大量存在。
这块之前我也只是在NG中较多的使用,并不算熟悉,于是冲下电。
装饰器模式,顾名思义,就是将某个类重新装扮下,使它在功能上更强
大,但是作为原来的这个类,使用者不应该感受到装饰前与装饰后有什么
不同,否则就破坏了原有类的结构,所以装饰器模式要做到对装饰类的使
用者透明