服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

什么?脏话越多,代码越好!

日期: 来源:脚本之家收集编辑:程序员月亮
将 脚本之家 设为“星标

第一时间收到文章更新
来源 | 了不起的程序员(ID:great_developer)
如若转载请联系原公众号

前两天看到一则代码注释里出现各种脏话的消息,这让我想起了之前看过的一个很有意思的开源项目。

有一端时间,这个项目简直火得不行~

教你怎样写出不被同事骂的代码。

项目一共列出了 20 条建议之多,这里月亮挑几条最有意思的分享出来。

变量名越简单越好

比如,变量名用 a 替代 age

原本需要打三个字母的时间,直接节省了 2/3 ,每天的工作效率直接爆表。

至于可读性?

那是你一个码农应该考虑的问题吗?

相信我,怎么快怎么来。

//推荐写法
let a = 42;
//不推荐写法
let age = 42;

不要写注释

千万不要写注释,写注释花费的时间,都足够你多写好几个功能的代码了。

而且你想想,公司招人都会选择技术成熟的程序员。

没有注释就看不懂代码了?

那岂不是不具备较强的读程能力?

你不写注释,我认为没有问题,如果你的同事真的读不懂,说明他需要反思自己的专业能力了。

记住啦,千万不要写注释,要相信你的同事~

ps:写到这里,突然想起一个段子。

每个程序员最讨厌做的事情:写注释。

每个程序员最讨厌其他程序员做的事情:不写注释。

尽可能把代码写成一行

把代码写成一行,可以减少不必要的存储空间消耗。

数据占用的存储空间越小,在网络中传输的速度就会越快。

在移动互联网高速发展的今天,加快数据传输,绝对是能极大的提高用户体验的操作。

所以,尽量把代码写成一行,好处非常多。

//推荐写法
document.location.search.replace(/(^\?)/,'').split('&').reduce(function(o,n){n=n.split('=');o[n[0]]=n[1];return o},{})

//不推荐写法
document.location.search
  .replace(/(^\?)/, '')
  .split('&')
  .reduce((searchParams, keyValuePair) => {
    keyValuePair = keyValuePair.split('=');
    searchParams[keyValuePair[0]] = keyValuePair[1];
    return searchParams;
  },
  {}
)

不要处理错误

每次系统提示服务异常、服务超时,对于用户来讲,都是非常糟糕的体验。

大多数用户都没有什么耐心,总是出现异常,用户可能就会破口大骂了。

所以为了用户体验,绝对不要用弹框提示异常信息。

只要没有提醒,用户就会尝试进行自我解释:怀疑自己手机坏了,或者是网络不好。

对于我们的软件,就不会有什么负面的评价啦~

同时,千万不要把错误信息记录日志。

一个上线的运行的系统出现故障时,程序员总是要花费很多时间去排查错误,这是一件非常劳神费力的事情。

所以只要没有日志文件,自然也就用不着排查问题啦。

相信我,你的同事会感谢你帮他们减少了工作量的

// 推荐写法
try {
  ...
} catch (error) {
  // 这里啥都不用处理
}

// 不推荐写法
try {
  ...
} catch (error) {
  //显示错误信息
  showErrorMessage(error.message);
  // 记录日志文件
  logError(error);
}

创建不需要使用的变量

//推荐写法
function sum(a, b, c) {
  const timeout = 1300;
  const result = a + b;
  return a + b;
}

//不推荐写法
function sum(a, b) {
  return a + b;
}

在代码里多创建一些不需要使用的变量,这样可以测试运行代码的机器极限所在。

在实践中你会发现,即便是创建了很多的变量,服务器和客户端都能毫不费力的抗住压力。

如果服务器抗不住,说明该升级服务器了。

这可是提前帮助团队排了雷呀,整个团队都会感谢你~

多使用多重嵌套

在代码里建议使用多层的 if + for 循环等嵌套,嵌套层数越多,越能体现你的技术能力。

像这样复杂的代码,没有较强的技术实力,自己写着写着都能蒙圈。

只有技术扎实的程序员,才能完美驾驭这样的写法。

所以,在工作中多写一写能够体现自己技术实力的代码,你才有机会肩负更大的责任。

//推荐写法
function someFunction() {
  if (condition1) {
    if (condition2) {
      asyncFunction(params, (result) => {
        if (result) {
          for (;;) {
            if (condition3) {
            }
          }
        }
      })
    }
  }
}

//不推荐写法
async function someFunction() {
  if (!condition1 || !condition2) {
    return;
  }
  
  const result = await asyncFunction(params);
  if (!result) {
    return;
  }
  
  for (;;) {
    if (condition3) {
    }
  }
}

不要测试

最后一条,那就是写完代码之后一定不要测试。

很多程序员都有一个坏习惯,写完代码之后喜欢测试,甚至有些人还会测试好几遍。

他们没有想过,公司是有测试工程师的。

作为开发岗,居然把测试的活儿都给抢了,这不是抢别人饭碗吗?

一旦遇上裁员,倒霉的就是这一批测试同事。

为了同事着想,是不是该把别人的活儿留给别人?

严格按照 只开发,不测试的方式工作, 开发的工作效率,完全能够翻倍。

好处多多。

over ~

比较有代表性的几条,我都帮大家列出来,没有做到的小伙伴,请反思一下自己。

没有做到第几条,那么请在后续的工作中严格执行,纠正自己的坏习惯。

不被同事骂的 代码规范

https://github.com/trekhleb/state-of-the-art-shitcode

<END>

程序员专属T恤

商品直购链接 

相关阅读

  • 你写的代码是如何跑起来的?

  • 关注“脚本之家”,与百万开发者在一起来源公众号:开发内功修炼 ID:kfngxl已获得原公众号的授权转载今天我们来思考一个简单的问题,一个程序是如何在 Linux 上执行起来的?我们就
  • 如何利用ChatGPT搞科研?

  • 转载自 知乎:芯片斯多葛量子位 | 公众号 QbitAI这位研究僧,GPT-4都发布了,你还在纯人工搞科研吗?已经有人实测:ChatGPT科研全流程都能用,尤其是对于英语非母语的科研人员,可以极大
  • 我很庆幸在云盘也进行了文件备份

  • 欢迎点击上方蓝字⌈维客笔记⌋"关注并星标⭐,不错过每一篇推送!大家好,我是来自1037号森林的BCS!起因今天上午利用希捷移动硬盘(1T)对电脑里的文件进行定期备份,我没注意到移动硬盘
  • 被自己!蠢!哭!的25个瞬间

  • 来源:黎兜兜( ID: LDD0588) - 写在最后 - 人生在世,难免有脑子突然短路的时候。绝对不是只有我一个人吧?害,经常被自己蠢哭,可是又不能揍自己。把那些小坎坷拉到人生的大长河里去
  • 闲鱼春季2024届实习生招聘启动!

  • 500强校园招聘60万优质大学生求职优选平台来源 | 闲鱼APP▼阅读原文 进入网申地址23春招已然火爆开启!5姐为23届的大家创建了23届春招备战群

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

  • 宅家党的幸福秘密,都在这里了!

  • 周末宅家,不想做饭又不知道点什么外卖时,水饺真的是来拯救胃口的!要说居家必囤的水饺,船歌鱼水饺是不可以错过的!为啥?谁让船歌鱼水饺的出品品质好呢?而且是登上了《舌尖上的中国》
  • 你写的代码是如何跑起来的?

  • 关注“脚本之家”,与百万开发者在一起来源公众号:开发内功修炼 ID:kfngxl已获得原公众号的授权转载今天我们来思考一个简单的问题,一个程序是如何在 Linux 上执行起来的?我们就
  • 什么?脏话越多,代码越好!

  • 将 脚本之家 设为“星标⭐”第一时间收到文章更新来源 | 了不起的程序员(ID:great_developer)如若转载请联系原公众号前两天看到一则代码注释里出现各种脏话的消息,这让我想起了
  • 你们想要的,好用的手机支架来了!

  • 这款手机支架,是懒人和脊柱和解的最好证据了吧!直播、追剧、追综艺,这大概就是现代人的休闲三要素了吧,可低头拿设备看,脊柱说达咩达咩,举着设备看,手臂说我服了,躺着拿设备看,随时随