要写出干净的JS代码5个编写小技巧分享(js代码怎么写)

admin1780456年前1条评论

要写出污秽的JS代码?一淘模板为人人分享本篇文章就来给人人整顿分享5个写出污秽JavaScript的小技术,希望对于人人有所帮助!

升高浏览累赘,启示创作心智,轻松深造JavaScript技术,日拱一卒,jym,冲~

1.将数字界说为常量

咱们每一每一会用到数字,比如下列代码:

  1. const isOldEnough = (person) => {
  2.   return person.getAge() >= 100;
  3. }

谁通晓这个100细致指的是甚么?咱们一般需要联合函数高低文再推测、坚定这个100它能够是细致代表一个甚么值。

如果如许的数字有多个的话,一定会很轻易形成更年夜的纳闷。

写出污秽的JavaScript:将数字界说为常量

就可清晰的解决这个问题:

  1. const AGE_REQUIREMENT = 100;
  2. const isOldEnough = (person) => {
  3.   return person.getAge() >= AGE_REQUIREMENT;
  4. }

现在,咱们通过申明常量的名字,就可立马读懂100是“年龄请求”的意思。修改时也能敏捷定位、一处修改、多处失效。

2.阻挠将布尔值作为函数参数

将布尔值作为参数传入函数中是一种罕见的轻易形成代码混乱的写法。

  1. const validateCreature = (creature, isHuman) => {
  2.   if (isHuman) {
  3.     // ...
  4.   } else {
  5.     // ...
  6.   }
  7. }

布尔值作为参数传入函数不能示意出明白的意思,只能告知读者,这个函数将会有坚定发生,发生两种或者多种状况。

然而,咱们提倡函数的繁多职责准则,以是:

写出污秽的JavaScript:阻挠将布尔值作为函数参数

  1. const validatePerson = (person) => {
  2.   // ...
  3. }
  4. const validateCreature = (creature) => {
  5.   // ...
  6. }

3.将多个条件封装

咱们经常会写出如许的代码:

  1. if (
  2.   person.getAge() > 30 &&
  3.   person.getName() === "simon" &&
  4.   person.getOrigin() === "sweden"
  5. ) {
  6.   // ...
  7. }

不是不可,只是隔久了会一下子看不懂这些坚定到底是要干嘛的,以是发起把这些条件用变量或者函数停止封装。

写出污秽的JavaScript:将多个条件封装

  1. const isSimon =
  2.   person.getAge() > 30 &&
  3.   person.getName() === "simon" &&
  4.   person.getOrigin() === "sweden";
  5. if (isSimon) {
  6.   // ...
  7. }

不是不可,只是隔久了会一下子看不懂这些坚定到底是要干嘛的,以是发起把这些条件用变量或者函数停止封装。

写出污秽的JavaScript:将多个条件封装

  1. const isSimon =
  2.   person.getAge() > 30 &&
  3.   person.getName() === "simon" &&
  4.   person.getOrigin() === "sweden";
  5. if (isSimon) {
  6.   // ...
  7. }

或者

  1. const isSimon = (person) => {
  2.   return (
  3.     person.getAge() > 30 &&
  4.     person.getName() === "simon" &&
  5.     person.getOrigin() === "sweden"
  6.   );
  7. };
  8. if (isSimon(person)) {
  9.   // ...
  10. }

噢,本来这些条件是为了坚定这集体是否Simon~

如许的代码是申明式格调的代码,更易读。

4.阻挠否定的坚定条件

条件坚定中,应用否定坚定,会分形状成一种思考累赘。

比下列面的代码,条件 !isCreatureNotHuman(creature) 双重否定,读起来就会认为有点吃力。

  1. const isCreatureNotHuman = (creature) => {
  2.   // ...
  3. }
  4.  
  5. if (!isCreatureNotHuman(creature)) {
  6.   // ...
  7. }

写出污秽的JavaScript:阻挠否定的坚定条件

改写成下列写法则读起来更轻松,尽管这只是一个很小的技术,然而在少量的代码逻辑中,多处去遵循这个准则,一定会颇有帮助。

患上多时刻读代码便是读着读着,看到一个“很烂”的写法,就忍不明晰,细节会叠加,千里之堤溃于蚁穴。

  1. const isCreatureHuman = (creature) => {
  2.   // ...
  3. }
  4. if (isCreatureHuman(creature)) {
  5.   // ...
  6. }

5.阻挠少量if...else...

这一点,本瓜一直就有夸年夜:

比如下列代码:

  1. if(x===a){
  2.    res=A
  3. }else if(x===b){
  4.    res=B
  5. }else if(x===c){
  6.    res=C
  7. }else if(x===d){
  8.     //...
  9. }

改写成map的写法:

  1. let mapRes={
  2.     a:A,
  3.     b:B,
  4.     c:C,
  5.     //...
  6. }
  7. res=mapRes[x]

再比如下列代码:

  1. const isMa妹妹al = (creature) => {
  2.   if (creature === "human") {
  3.     return true;
  4.   } else if (creature === "dog") {
  5.     return true;
  6.   } else if (creature === "cat") {
  7.     return true;
  8.   }
  9.   // ...
  10. return false;
  11. }

改写成数组:

  1. const isMa妹妹al = (creature) => {
  2.   const ma妹妹als = ["human", "dog", "cat", /* ... */];
  3.   return ma妹妹als.includes(creature);
  4. }

写出污秽的JavaScript:阻挠少量if...else...

以是,现代码中浮现少量if...else...时,多想一步,是否能稍加革新让代码看起来更加“污秽”。

你可能想看:

本文链接:https://addon.ciliseo.com/yao-xie-chu-gan-jing-de-js-dai-ma-5-ge-bian-xie-xiao-ji-qiao-fen-xiang.html

JS代码小技巧要写干净代码JS函数条件多个常量写法参数数字布尔值技巧

网友评论

  • 2025-02-2210:38:46

    优秀JS编写秘诀,整洁代码需遵从五大技巧:简明性、命名清晰、避免混入功能层过度叠加式程序组织等,遵循有良好成果保证!

扫一扫二维码添加客服微信

关于我们建站招商建站服务