您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

不被同事骂的代码规范,程序员们值得拥有!

时间:2023-02-24 15:38:21  来源:今日头条  作者:王路飞学Java

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

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

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

项目一共列出了 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://mp.weixin.qq.com/s/NkLw3g5-Bx_ET4vxAnBtYg



Tags:代码   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
跳转链接代码怎么写?
在网页开发中,跳转链接是一项常见的功能。然而,对于非技术人员来说,编写跳转链接代码可能会显得有些困难。不用担心!我们可以借助外链平台来简化操作,即使没有编程经验,也能轻松实...【详细内容】
2024-03-27  Search: 代码  点击:(13)  评论:(0)  加入收藏
为何大语言模型不会取代码农?
译者 | 布加迪审校 | 重楼生成式人工智能(GenAI)会取代人类程序员吗?恐怕不会。不过,使用GenAI的人类可能会取代程序员。但是如今有这么多的大语言模型(LLM),实际效果不一而足。如...【详细内容】
2024-03-21  Search: 代码  点击:(23)  评论:(0)  加入收藏
如何从头开始编写LoRA代码,这有一份教程
选自 lightning.ai作者:Sebastian Raschka机器之心编译编辑:陈萍作者表示:在各种有效的 LLM 微调方法中,LoRA 仍然是他的首选。LoRA(Low-Rank Adaptation)作为一种用于微调 LLM(大...【详细内容】
2024-03-21  Search: 代码  点击:(12)  评论:(0)  加入收藏
如何编写高性能的Java代码
作者 | 波哥审校 | 重楼在当今软件开发领域,编写高性能的Java代码是至关重要的。Java作为一种流行的编程语言,拥有强大的生态系统和丰富的工具链,但是要写出性能优异的Java代码...【详细内容】
2024-03-20  Search: 代码  点击:(24)  评论:(0)  加入收藏
微软AI程序员登场,10倍AI工程师真来了?996自主生成代码,性能超GPT-4 30%
新智元报道编辑:桃子 润【新智元导读】全球首个AI程序员Devin诞生之后,让码农纷纷恐慌。没想到,微软同时也整出了一个AI程序员——AutoDev,能够自主生成、执行代码等...【详细内容】
2024-03-18  Search: 代码  点击:(17)  评论:(0)  加入收藏
对JavaScript代码压缩有什么好处?
对JavaScript代码进行压缩主要带来以下好处: 减小文件大小:通过移除代码中的空白符、换行符、注释,以及缩短变量名等方式,可以显著减小JavaScript文件的大小。这有助于减少网页...【详细内容】
2024-03-13  Search: 代码  点击:(2)  评论:(0)  加入收藏
如何进行Python代码的代码重构和优化?
Python是一种高级编程语言,它具有简洁、易于理解和易于维护的特点。然而,代码重构和优化对于保持代码质量和性能至关重要。什么是代码重构?代码重构是指在不改变代码外部行为的...【详细内容】
2024-02-22  Search: 代码  点击:(35)  评论:(0)  加入收藏
18个JavaScript技巧:编写简洁高效的代码
本文翻译自 18 JavaScript Tips : You Should Know for Clean and Efficient Code,作者:Shefali, 略有删改。在这篇文章中,我将分享18个JavaScript技巧,以及一些你应该知道的示例...【详细内容】
2024-01-30  Search: 代码  点击:(68)  评论:(0)  加入收藏
C++代码优化攻略
今天我们将深入探讨C++性能优化的世界。在当今软件开发的浪潮中,高性能的代码是必不可少的。无论是开发桌面应用、移动应用,还是嵌入式系统,性能都是关键。1. 选择合适的数据结...【详细内容】
2024-01-26  Search: 代码  点击:(115)  评论:(0)  加入收藏
手把手教你为开源项目贡献代码
背景前段时间无意间看到一篇公众号 招贤令:一起来搞一个新开源项目,作者介绍他想要做一个开源项目:cprobe 用于整合目前市面上散落在各地的 Exporter,统一进行管理。比如我们常...【详细内容】
2024-01-26  Search: 代码  点击:(71)  评论:(0)  加入收藏
▌简易百科推荐
即将过时的 5 种软件开发技能!
作者 | Eran Yahav编译 | 言征出品 | 51CTO技术栈(微信号:blog51cto) 时至今日,AI编码工具已经进化到足够强大了吗?这未必好回答,但从2023 年 Stack Overflow 上的调查数据来看,44%...【详细内容】
2024-04-03    51CTO  Tags:软件开发   点击:(6)  评论:(0)  加入收藏
跳转链接代码怎么写?
在网页开发中,跳转链接是一项常见的功能。然而,对于非技术人员来说,编写跳转链接代码可能会显得有些困难。不用担心!我们可以借助外链平台来简化操作,即使没有编程经验,也能轻松实...【详细内容】
2024-03-27  蓝色天纪    Tags:跳转链接   点击:(13)  评论:(0)  加入收藏
中台亡了,问题到底出在哪里?
曾几何时,中台一度被当做“变革灵药”,嫁接在“前台作战单元”和“后台资源部门”之间,实现企业各业务线的“打通”和全域业务能力集成,提高开发和服务效率。但在中台如火如荼之...【详细内容】
2024-03-27  dbaplus社群    Tags:中台   点击:(9)  评论:(0)  加入收藏
员工写了个比删库更可怕的Bug!
想必大家都听说过删库跑路吧,我之前一直把它当一个段子来看。可万万没想到,就在昨天,我们公司的某位员工,竟然写了一个比删库更可怕的 Bug!给大家分享一下(不是公开处刑),希望朋友们...【详细内容】
2024-03-26  dbaplus社群    Tags:Bug   点击:(5)  评论:(0)  加入收藏
我们一起聊聊什么是正向代理和反向代理
从字面意思上看,代理就是代替处理的意思,一个对象有能力代替另一个对象处理某一件事。代理,这个词在我们的日常生活中也不陌生,比如在购物、旅游等场景中,我们经常会委托别人代替...【详细内容】
2024-03-26  萤火架构  微信公众号  Tags:正向代理   点击:(11)  评论:(0)  加入收藏
看一遍就理解:IO模型详解
前言大家好,我是程序员田螺。今天我们一起来学习IO模型。在本文开始前呢,先问问大家几个问题哈~什么是IO呢?什么是阻塞非阻塞IO?什么是同步异步IO?什么是IO多路复用?select/epoll...【详细内容】
2024-03-26  捡田螺的小男孩  微信公众号  Tags:IO模型   点击:(9)  评论:(0)  加入收藏
为什么都说 HashMap 是线程不安全的?
做Java开发的人,应该都用过 HashMap 这种集合。今天就和大家来聊聊,为什么 HashMap 是线程不安全的。1.HashMap 数据结构简单来说,HashMap 基于哈希表实现。它使用键的哈希码来...【详细内容】
2024-03-22  Java技术指北  微信公众号  Tags:HashMap   点击:(11)  评论:(0)  加入收藏
如何从头开始编写LoRA代码,这有一份教程
选自 lightning.ai作者:Sebastian Raschka机器之心编译编辑:陈萍作者表示:在各种有效的 LLM 微调方法中,LoRA 仍然是他的首选。LoRA(Low-Rank Adaptation)作为一种用于微调 LLM(大...【详细内容】
2024-03-21  机器之心Pro    Tags:LoRA   点击:(12)  评论:(0)  加入收藏
这样搭建日志中心,传统的ELK就扔了吧!
最近客户有个新需求,就是想查看网站的访问情况。由于网站没有做google的统计和百度的统计,所以访问情况,只能通过日志查看,通过脚本的形式给客户导出也不太实际,给客户写个简单的...【详细内容】
2024-03-20  dbaplus社群    Tags:日志   点击:(4)  评论:(0)  加入收藏
Kubernetes 究竟有没有 LTS?
从一个有趣的问题引出很多人都在关注的 Kubernetes LTS 的问题。有趣的问题2019 年,一个名为 apiserver LoopbackClient Server cert expired after 1 year[1] 的 issue 中提...【详细内容】
2024-03-15  云原生散修  微信公众号  Tags:Kubernetes   点击:(6)  评论:(0)  加入收藏
站内最新
站内热门
站内头条