使用这7个技巧来获得干净和可维护的代码

81 阅读3分钟

利用这些技巧,在你的开发者朋友中得到尊重 😎

照片:JESHOOTS.COMonUnsplash

所有这些都是关于维护干净和可读的代码(当然是有效的)。所以,我想和你们分享一些提示。欢迎在评论中纠正我或分享你自己的更多技巧,以便为我们所有人创造一个学习的机会。那我们就开始吧。

1.评论、评论和更多的评论

我不是一个理想的开发者,我打赌你也不是一个理想的开发者,你的代码能被所有人理解。我不想解释到底该怎么做,而是要告诉你什么不该做。让我们来看看一些示例代码。

medium.com/media/ae7ea…

当你有复杂的代码块时,不要使用注释。

2.有意义的名字

你要使用那些让读者觉得 "是的!我知道这到底是做什么的 "的名字。

medium.com/media/746c1…

3.不要忽视控制台/ESLint警告

这是一个巨大的问题,我曾多次看到开发者提交的代码带有eslint警告。事实上,几个月前,我开始在一个现有项目上工作。当我编译前端时,有超过100个jsx-ally和eslint等的警告。

我们可以使用huskylint-staged,它不会让你提交代码,直到你清除所有的警告和错误。

4.不要在Typescript中使用 "as unknown"。

Typescript是很聪明的,但是有时候,它就是不够聪明!我见过很多//@ts-ignores或as unknowns在typecript代码中的情况。所以,请看这个例子。

medium.com/media/85143…

尽管这样做是不可取的,但至少你得到了一些类型安全。

5.使用Babel而不是tsc

从第7版开始,Babel增加了对TypeScript的支持,这意味着你不再需要使用TypeScript编译器,即tsc来构建你的项目,而是可以直接使用Babel,它可以简单地从所有TypeScript文件中剥离你的类型,然后将结果作为JavaScript发射出来。

这不仅比tsc快得多,尤其是在大型项目中,而且还允许你在项目中使用整个Babel生态系统。例如,当你想使用仍处于第三阶段的react或javascript功能时,它就非常好。

对于后端项目,这意味着你可以简化你笨重的文件观察脚本,只需使用babel-node来观察变化。

6.使用SonarJS和Eslint

Eslint有许多规则,可以执行最佳实践和惯例,也有助于防止bug。

(TSLint正在被弃用,转而使用typescript-eslint;TSLint插件SonarTS已经被采用,现在是SonarJS的一部分)。

除了ESLint的功能外,SonarJS还为你的代码添加了一些复杂性检查,这对于直接编码,然后将你的方法分成小块是有帮助的。

7.不透明的类型

我不打算解释,我只是向你演示一下。

想象一下,我们正在建立一个银行API。

medium.com/media/df724…medium.com/media/c4907…

你发现这个错误了吗?如果你没有,看看我们调用spend()函数的地方。我(故意的)在账户号码之前传递了金额,但是typescript没有抱怨。

如果你想知道为什么会这样,这是因为AccountNumberType和PaymentAmt是可以相互分配的,因为它们都是数字类型。

关于这个问题,typescript repo中有一个长期的问题。在typescript团队解决这个问题之前,我们可以使用下面的破解方法。

medium.com/media/49c57…

实用函数Opaque简单地定义了一个新的类型,除了变量的值之外,还存储了一个(唯一的)密钥,例如Uuid。

结语

谢谢你的阅读!请在twitter上关注我,我在那里为开发者发布技巧、窍门和备忘录。再见 🤟

原文发表于 https://dev.to 于2020年10月26日。


使用这7个技巧来获得干净和可维护的代码》最初发表在《Dev Genius》杂志上,人们通过强调和回应这个故事来继续对话。