编写更好代码的非秘密公式

没有两个

免责声明 :这篇文章中的所有内容都是我个人的看法。 但是,这是100%正确的,您不应质疑它。 让我们开始吧。

我喜欢编写干净的代码。 我希望我在Torii的团队也能编写良好而干净的代码。 问题在于每个人对“干净代码”的定义都不同。 这是我编写秘密代码的非秘密公式,可减少错误,更容易更改并使我更快乐。

什么是“更好的代码”?

我喜欢致力于以下方面的代码库:

可读性 。 该代码应易于阅读和理解。 代码中应清楚为什么以及如何进行。

简单性 代码简单。 它不应该取决于您无法在代码中阅读的假设。 当很难以错误的方式使用代码时,代码很简单。 添加功能时很难破解。

一致 一致的缩进。 一致的命名。 一致的文件结构。 采取什么样式,范例和决定都没关系-保持一致。

我最关心的事情是: 使代码通用,强制设计模式,已知的“正确方法”以及不必要的性能优化。

如何编写更好的代码?

这是我今天编写代码的方式以及原因。

零评论政策

注释会过时,并且倾向于告诉您有关代码的错误信息。 同样,注释允许补偿不应该存在的密码。 而不是注释,而是专注于代码的可读性。

// 😞
if (x > 5) { // 5 is a special point where we must run away
runAway()
}
// 👍
const runAwayThreshold = 5
const shouldRunAway = (x > runAwayThreshold)
if (shouldRunAway) {
runAway()
}
零待办事项政策

您的代码库不是项目管理系统。 JIRA,Trello,Asana(及其他)更适合记录在案的未来工作。 是的,即使是“我们必须加快此功能的速度” TODO。 如果必须的话,请将其保存在每个人都能看到的地方。

// 😞
while (true) {} // TODO: make this code faster when we have time
// 👍
while (true) {}
自我记录代码

使用变量可以帮助代码自我记录。 我们可以使用这些变量更好地表达我们的意图:变量名是why ,而赋值是how

// 😞
if (x > 2 && x < 5) {
fireMissiles()
}
// 👍
const enemyInRange = (x > 2 && x < 5)
if (enemyInRange) {
fireMissiles()
}
早点休息

缩进的第一行保留用于“良好路径”。 因此,我总是尽早休息,并将代码中最重要的部分放在函数的“根”中。

通常, 减少缩进→可读代码

// 😞
const fetchData = (id) => {
if (id) {
fetch('/data/' + id)
}
}
// 👍
const fetchData = (id) => {
if (!id) {
return
}
  fetch('/data/' + id)
}
一成不变

与可变引用(JavaScript中的letvar )相比,我更喜欢使用const引用。 通常是因为在我理解了一次变量是什么之后,我不必再次考虑它。 我发现支持这种功能的小语言功能(无论它是哪种语言)。

// 😞
let mul = x * y
if (mul > 70) {
mul = 70
}
// 👍
const mul = Math.min(x * y, 70)

另一个例子:

// 😞
let x
if (str === 'one') {
x = 1
} else if (str === 'two') {
x = 2
} else if (str === 'three') {
x = 3
}
// 👍
const x = {
one: 1,
two: 2,
three: 3
}[str]
每个思想一个LOC

阅读复杂的代码需要大量的精力。 通过使您的“编码语句”简短,将复杂的思想分解为简单的思想。

// 😞
people
.filter(person => person.age > 10 && person.firstName.length > 2 && person.lastName.length > 4)
// 👍
people
.filter(person => person.age > 10)
.filter(person => person.firstName.length > 2)
.filter(person => person.lastName.length > 4)

“等待! 性能变化如何?”。 我不在乎 我真的不知道 除非存在现实世界中的问题,其中应用程序变得比预期的慢。

同意? 不同意?

我敢肯定,有些开发人员会不同意每一个观点。

很好,但是请让我知道为什么在评论中或在Twitter( @ketacode )上-如果您的公司使用SaaS进行操作,还请签出Torii

如果您喜欢这篇文章,请拍一下并与您的网络分享。

From: https://hackernoon.com/the-non-secret-formula-for-writing-better-code-e41d1ff38682

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值