菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
0
0

谁不想写出干净的代码?7 个技巧,让你的同事爱上你的代码

原创
05/13 14:22
阅读数 278

推荐课程:融职教育--web全栈开发就业班(含价值500万10个商业项目)

1 使用有意义的变量命名
使用有意义的名称,这会让你一眼就知道是什么意思。
// 不推荐
let xyz = validate(‘amyjandrews’);
// 推荐
let isUsernameValid = validate(‘amyjandrews’);
复制代码
将集合类型命名为复数是有意义的。因此,不要忘记 s:
// 不推荐
let number = [3, 5, 2, 1, 6];
// 推荐
let numbers = [3, 5, 2, 1, 6];
复制代码
描述函数做的事。所以,一个函数的命名应该是个动词。
// 不推荐
function usernameValidation(username) {}
// 推荐
function validateUsername(username) {}
复制代码
对于 boolean 类型的命名需要以 is 作为开始。
let isValidName = validateName(‘amyjandrews’);
复制代码
不要直接使用常量,因为随着时间的推移,你可能会这样:"这 TM 是什么?"。最好的是在使用之前命名好需要的常量。
// 不推荐
let area = 5 5 3.14;
// 推荐
const PI = 3.14;
let radius = 5;
let area = PI radius radius;
复制代码
对于回调函数,不要偷懒,只是命名变量为一个字母,例如 h、j、d(可能即便是你,这些命名的主人,都不知道它们是什么意思)。长话短说,如果变量是个人 person,传个 person;如果是本书 book,传个 book:
// 不推荐
let books = [‘Learn JavaScript’, ‘Coding for Beginners’, ‘CSS the Good Parts’];
books.forEach(function(b) {
// …
});
// 推荐
let books = [‘Learn JavaScript’, ‘Coding for Beginners’, ‘CSS the Good Parts’];
books.filter(function(book) {
// …
});
复制代码
2 抛出信息丰富的异常
"An error occurs."
或者只是:Error.
每当我在某些 app 或网站中看到这样的错误,如果我作为用户,我会讨厌它。我做的什么是错误的?是我导致的这个错误?那么错误是什么?你并没有告诉我,接下来我应该怎么做?
你的用户可能会和我有同样的感受,有时他们将会卸载你的 app,并不会再安装。
其实,写一个清楚的错误消息不是很难的事。
如果此时没有连接网络,则:
showMessage(‘No internet connection! Please check your connection and try again!’);
复制代码
如果用户忘记输入信息,则:
showMessage(‘Please enter your username’);
复制代码
更重要的是,一个清楚的错误可以帮助你快速定位 bug,并且节省你很多开发的时间。
if (error) {
throw new Error(‘validation.js:checkUser: special characters are now allowed’);
}
复制代码
以上这些就是你可以参考的错误消息格式。
3 尽可能早地 return
请看下面这段代码:
function login(username, password) {
if (isValid(username)) {
// Log in
} else {
showMessage(‘Username is not valid’);
}
}
复制代码
其实,这里 else 的部分是不需要的。我们应该通过尽早返回一个信息来移除它:
function login(username, password) {
if (!isValid(username)) {
showMessage(‘Username is not valid’);
return;
}
// Log in
}
复制代码
这会让你的代码变得更加清晰。边缘条件应该放在较早的位置,然后再放置较长的部分,它要处理更多的逻辑。
4 不要一个函数太多的权利
每个函数应该只承担一项责任。不要出现一个强大的函数做太多事情况。
function validateAndLogin() {
// Do a lot of things here
}
复制代码
and 这个单词不应该是函数名的一部分。And 会导致添加更多的责任到函数中,这从长远看来弊大于利。
下面这种写法是最好的:
function validate() {
// Only validate
}
function login() {
// Only login
}
复制代码
5 避免副作用
在函数外的任何东西都不是它的业务。所以,函数不应该接触到它们中的任何一个。
例如:
var number = 3;
function changeNumber(add) {
number = 2 + add;
return number;
}
changeNumber();
复制代码
当你调用一个改变 number 的函数,number 变量的值将会被改为 6。这是个真实存在的问题,因为有时你对改变了全局变量一无感知。所以,你应该在你的项目避免产生副作用。
那要怎么做?通过使用纯函数。
上面这个例子可以改成这样:
function addThree(summand) {
const CONSTANT = 3;
let sum = summand + CONSTANT;
return sum;
}
复制代码
6 创建模块
当你创建一些函数。它们似乎在做类似的动作。例如,验证用户名和验证密码。那么,你会感觉到它们可以分到一个模块中。这里我们称之为验证模块。
const validateUsername = function (username) {
// Validate username
};
const validatePassword = function (password) {
// Validate password
};
Module.exports = {
validateUsername,
validatePassword
};
const {
validateUsername,
validatePassword
} = require(‘./validation’);
let isUsernameValid = validateUsername(‘amyjandrews’);
复制代码
7 使用代码格式化插件
我大多数的项目都是用 VSCode 开发的,如果你也在使用 VSCode,请确认安装了 Prettier 来保持漂亮的代码。
这个插件将会节省你花在格式化代码上的时间。得益于它,你可以利用这部分时间将更多的精力放在代码质量上。

作者:五柳
链接:https://juejin.im/post/6887184781008715789
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

发表评论

0/200
0 点赞
0 评论
收藏