15个书写javascript代码的整洁之道(实用!)(代码片段)

SHERlocked93 SHERlocked93     2022-12-09     529

关键词:

原文链接: https://medium.com/javascript-in-plain-english/15-rules-for-writing-clean-javascript-8e2b2b426515

无论你是 React 开发者还是 Node.js 开发者. 都能写出可以运行的代码. 但是你写的代码美观并且别人能看懂吗?

下面的规则可以让你的 JavaScript 代码更加整洁和清晰.

规则1. 不要使用随机的字符作为变量

不要使用随机字符去表示一个变量.

// BAD
const x = 4;

应该采用语义化的方式去命名变量.

// GOOD
const numberOfChildren = 4;

规则2. 使用驼峰式命名

不要使用蛇形命名(snake_case)、帕斯卡命名(PascalCase)或者变量名以动词开头.

// Bad: 以大写字母开头 
var UserName = "Faisal"; 

// Bad: 以动词开头 
var getUserName = "Faisal"; 

// Bad: 使用下划线 
var user_name = "faisal";

使用驼峰命名法代替, 并且使用名词.

// Good
const userName = "Faisal";

规则3. 使用良好的驼峰来命名函数

函数名不要用名词, 避免与变量名混淆.

// Bad: 以大写字母开头 
function DoSomething()   
    // code 
 

// Bad: 以名词开头 
function car()   
    // code 
 

// Bad: 使用下划线 
function do_something()   
    // code 

而应该使用驼峰式命名, 并且以动词开头.

//GOOD
function doSomething() 
    // code

规则4. 使用帕斯卡来命名构造函数

// Bad: 以小写字母开头 
function myObject()   
    // code 
 

// Bad: 使用下划线 
function My_Object()   
    // code 
 

// Bad: 以动词开头 
function getMyObject()   
    // code 

同样的, 构造函数名不应该以动词开头, 并且通过 new 来创建对象实例是一个动作.

// GOOD
function MyObject()   
    // code 

规则5. 全局常量

全局常量的值不能被改变, 不应该以命名正常变量的方式来命名它.

// BAD
const numberOfChildren = 4;
// BAD 
const number_of_children = 4;

所有的单词应该大写, 并且以下划线分隔.

// GOOD
const NUMBER_OF_CHILDREN = 4;

规则6. 分配变量

不要直接将一个 比较值 分配给变量.

// BAD 
const flag = i < count;

应该使用小括号包裹:

// GOOD
const flag = (i < count);

规则7. 相等运算符的用法

不要使用 "==" 或 "!=" 来对比值. 因为它们不会检查两个值的类型是否相同.

//BAD
if (a == b)
    //code

而应该使用 "===" 或 "!==", 避免类型错误.

//GOOD
if (a === b)
    //code

规则8. 三元运算符的用法

不要使用三元运算符代替 if 条件语句:

//BAD
condition ? doSomething() : doSomethingElse();

仅仅在某些条件下使用它来分配值:

// GOOD
const value = condition ? value1 : value2;

规则9. 简单的声明

不要在一行写多个声明语句, 尽管 JavaScript 是支持这么写的.

// BAD
a =b; count ++;

多个声明语句应该分成多行. 并且总是应该在语句的末尾添加分号.

// GOOD
a = b;
count++;

规则10. if 语句的使用

不要省略 if 语句的大括号, 并且首尾大括号不要写在同一行.

// BAD: 不正确的空格 
if(condition)  
    doSomething(); 
 
----
// BAD: 缺失大括号 
if (condition)  
    doSomething(); 
----
// BAD: 所有的代码都在一行 
if (condition)  doSomething();  
----
// BAD: 代码挤在一行, 并且没有大括号 
if (condition) doSomething();

应该总是使用大括号并且进行适当的缩进:

// GOOD
if (condition) 
    doSomething();

规则11. 循环语句的用法

不要在 for 循环内部声明变量.

// BAD: 在循环体内声明变量 
for (let i=0, len=10; i < len; i++)   
    // code
    let i = 0;

而应该在 for 循环之前声明.

// GOOD
let i = 0;

for (i=0, len=10; i < len; i++)   
    // code 

规则12. 缩进长度保持一致

始终使用 2 个或 4 个缩进.

// GOOD
if (condition) 
    doSomething();

规则13. 单行长度

任意行的代码都不要超过 80 个字符. 如果超出的话, 超出的部分应该另起一行.

// BAD: 下一行只缩进 4 个空格 
doSomething(argument1, argument2, argument3, argument4,
    argument5); 

// BAD: 在运算符前换行 
doSomething(argument1, argument2, argument3, argument4
        ,argument5);

第二行应该是 8 个缩进而不是 4 个, 并且不应该以分隔符开头.

// GOOD
doSomething(argument1, argument2, argument3, argument4,
        argument5);

规则14. 原始值

字符串不应该使用单引号包裹.

// BAD
const description = 'this is a description';

而应该使用双引号.

// GOOD
const description = "this is a description";

规则15. 使用 "undefined"

不要使用全等运算符判断变量是否为 undefined.

// BAD
if (variable === "undefined")   
    // do something 

使用 typeof 操作符来查看一个变量是否已经定义.

// GOOD
if (typeof variable === "undefined")   
    // do something 

因此, 遵循上述的这些规则, 可以让你的 JavaScript 项目更加整洁.

上述所有的规则都可以在 "编写可维护的JavaScript" 这本书中找到. 所以即使你不同意其中的某些规则也没关系. 因为编码风格是多样化的. 但是这些规则可以作为一个良好的起点.

编码愉快! :D

最后

如果你觉得这篇内容对你挺有启发,我想邀请你帮我三个小忙:

  1. 点个「在看」,让更多的人也能看到这篇内容(喜欢不点在看,都是耍流氓 -_-)

  2. 欢迎加我微信「 sherlocked_93 」拉你进技术群,长期交流学习...

  3. 关注公众号「前端下午茶」,持续为你推送精选好文,也可以加我为好友,随时聊骚。

点个在看支持我吧,转发就更好了

清洁代码之道:一份实用关于如何编写和维护干净整洁的好代码的的方法theartofcleancode...

我们大多数程序员都发现自己处于必须使用杂乱代码的情况,这使得我们很难理解我们正在阅读的各个行的功能。有时,我们会问自己为什么要对变量或调用进行某些更改,但我们害怕干预,因为害怕破坏生产环... 查看详情

php整洁之道(代码片段)

...都是CleanCode作者多年总结出来的。 Inspiredfromclean-code-javascript 变量 使用有意义且 查看详情

php代码整洁之道

...多都是CleanCode作者们多年来的经验。灵感来自于clean-code-javascript尽管许多开发者依旧使用PHP5版本,但是这篇文章 查看详情

第五次读书笔记——robrtc.martin的《代码整洁之道》

 本周我读的书是美国作者RobrtC.Martin的《代码整洁之道》。一周的时间,我主要阅读了本书的前五章,关于整洁代码、有意义的命名、函数、注释以及格式等内容。书中作者有个观点:优雅和高效。作者说:代码逻辑应当直... 查看详情

代码之美——《重构》《代码整洁之道》

什么样的代码才是美的代码?一千个coders可能会给出一千个答案。今天,让我从一个简单的角度来谈谈对于代码之美的理解。 可读性高的代码才有可能是美的代码 相信大家都有过这样的经历:接手一个项目要修复bug或者... 查看详情

《代码整洁之道》

代码整洁之道代码猴子(CodeMonkey):低水平编码者.童子军规.技艺(craftsmanship):知和行.学写整洁代码,掌握原则和模式,并付出行动.整洁代码代码呈现了需求的细节.这些细节无法被忽略或抽象,必须要严谨,精确,规范和详细.糟糕的代码... 查看详情

整洁之道如何写出更整洁的代码(上)

 如何写出更整洁的代码    代码整洁之道不是银弹,不会立竿见影的带来收益。  没有任何犀利的武功招式,只有一些我个人异常推崇的代码整洁之道的内功心法。它不会直接有效的提高你写代码的能力与速度,... 查看详情

typescript代码整洁之道

干净整洁的代码,不但质量更可靠,也为后期升级、维护打下了良好的基础。那么,整洁代码的衡量标准是什么?本文将RobertC.Martin的CleanCode思想融入到TypeScript,一起探讨研究代码整洁之道。 WTFs/Minute 1.命名的艺术计算... 查看详情

代码整洁之道

文章目录代码整洁之道定义变量名字的时候常用的单词有意义的命名怎样写简洁的,别人一眼可以看的懂的方法方法参数越少越好注释格式别给方法返回null值我们该提炼方法中的变量还是不提炼方法中的变量?代码整洁之道定... 查看详情

代码整洁之道——8错误处理

抛出错误是一个很好的事情。这意味着当你的程序出错的时候可以成功的知道,并且通过停止当前堆栈上的函数来让你知道,在node中会杀掉进程,并在控制套上告诉你堆栈跟踪信息。一、不要忽略捕获的错误不处理错误不会给... 查看详情

php开发-代码整洁之道(代码片段)

CleanCodePHP目录介绍变量使用见字知意的变量名同一个实体要用相同的变量名使用便于搜索的名称(part1)使用便于搜索的名称(part2)使用自解释型变量避免深层嵌套,尽早返回(part1)避免深层嵌套,尽早返回(part2)少用无意义的变量名... 查看详情

php开发-代码整洁之道(代码片段)

CleanCodePHP目录介绍变量使用见字知意的变量名同一个实体要用相同的变量名使用便于搜索的名称(part1)使用便于搜索的名称(part2)使用自解释型变量避免深层嵌套,尽早返回(part1)避免深层嵌套,尽早返回(part2)少用无意义的变量名... 查看详情

读《代码整洁之道》有感

本周我开始阅读RobertC.Martin所著的《代码整洁之道》一书,希望能从中收获高效编写代码的诀窍,因为我自认为我的代码有时候比较糟糕,不太容易维护。一方面,是我没有养成良好的编程习惯;另一方面,我不太清楚什么才是... 查看详情

代码整洁之道-函数

函数参考书籍:《代码整洁之道》,语言:Python1.函数要短小1)每个函数只做一件事,并且每个函数都依次把你带到下一个函数,这就是函数应该达到的短小程度。2)if,else,while等语句的代码块应该只有一行,该行大概是一个函... 查看详情

代码整洁之道-函数

函数参考书籍:《代码整洁之道》,语言:Python1.函数要短小1)每个函数只做一件事,并且每个函数都依次把你带到下一个函数,这就是函数应该达到的短小程度。2)if,else,while等语句的代码块应该只有一行,该行大概是一个函... 查看详情

豆瓣评分8.6!这本《代码整洁之道》到底牛在哪里?重点都在这了

《代码整洁之道》(CleanCode)豆瓣评分8.6,是开发人员的必读书籍,尤其是当您想成为一名更好的软件开发人员时。这本书解释了什么是干净的代码和最佳实践,以帮助您写出干净整的代码。代码整洁之道阅... 查看详情

前端阅读——《代码整洁之道》摘记之整洁代码命名函数注释

 这本书提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。(作者认为书可以有另一个名字:《如何在意代码》)读这本书,促使我思考代码中何谓正确,... 查看详情

《代码整洁之道》读书笔记

第一章整洁代码  读完,个人觉得第一章的关键点在于让读者追求卓越,不仅仅满足于功能的实现,更要培养代码整洁的思维。所以对待你的代码就像去雕琢艺术品一样,不要把它当成垃圾,认真去雕琢每一个细节,另外,文... 查看详情