脏话越多,代码越好!

👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇

作者丨程序员月亮

来源丨了不起的程序员(ID:great_developer)

你好呀,我是月亮,一个90后的老程序员啦~

平时会在公众号上分享一些自己的生活感悟、读书笔记、程序员、科技类讯息等,欢迎读者朋友留言交流呀~

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

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

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

项目一共列出了 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-

最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!

8abf8d929eb02a5ed264039082a7e963.png

点击👆卡片,关注后回复【面试题】即可获取

在看点这里0fd87cabb7de07dbd1506844b4687be5.gif好文分享给更多人↓↓

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/26262.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于langchain 的文档问答 最佳实践(附源码)

文档问答的原理 文档读取并切割,用句向量 向量化,存入向量数据库问题向量化,在向量数据库中进行相似性检索,并存出top K把问题和top K 答案组成 prompt 并发给大模型,等大模型答案 这里面涉及到的技术点有&#xff1a…

chatgpt赋能python:Python为什么闪退?

Python为什么闪退? Python作为一种高级编程语言,已经赢得了世界各地许多开发者的青睐。但是,有时候Python会因为各种原因而突然闪退,给开发者带来极大的困扰。那么,Python为什么会闪退呢? 1. 内存泄漏 内…

Trexquant | 量化多岗位招聘(全职+实习)

量化投资与机器学习微信公众号,是业内垂直于量化投资、对冲基金、Fintech、人工智能、大数据等领域的主流自媒体。公众号拥有来自公募、私募、券商、期货、银行、保险、高校等行业30W关注者。 具体投递方式 投递邮箱 tqchina_resumetrexquant.com 简历命名 岗位-姓名…

京东各大城市内推岗位(2021.2.7更)

北京: 上海: 广东: 四川: 重庆: 暂无 杭州: 暂无 陕西: 湖北: 湖南: 暂无 岗位每周更新一次 因为内推系统只能以省份维度查看,想了解具体城市和岗…

北京内推 | 京东营销与商业化中心招聘NLP算法工程师/实习生

合适的工作难找?最新的招聘信息也不知道? AI 求职为大家精选人工智能领域最新鲜的招聘信息,助你先人一步投递,快人一步入职! 京东 京东营销与商业化中心(原商提广告部)成立于2014年初&#xff0…

【CSDN雇主招聘】深信服科技带着高薪岗位JD和公司周边来啦

为了帮助企业更好的应对用人难的挑战,CSDN面向所有企业全新升级了CSDN2022雇主品牌计划,在企业发展、吸引人才、连接人才、宣传公司多个维度提供专属的支持。 ————本次为深信服科技专场———— 直播主题:《CSDN雇主品牌-深信服招聘专场…

【名企招聘】4月20日19点,Thoughtworks专场招聘,众多岗位JD解读,总有适合你的岗位~

为了帮助企业更好的应对用人难的挑战,CSDN面向所有企业全新升级了CSDN2022雇主品牌计划,在企业发展、吸引人才、连接人才、宣传公司多个维度提供专属的支持。 ————本次为Thoughtworks专场———— 直播主题:《CSDN雇主品牌-Thoughtwork…

WhatsApp 群组营销分析

一、WhatsApp基本介绍。 1、创建特点。 whatsapp是一款国际应用,他允许用户自由创建群组,拉人进群。用户可以设置群组隐私来防止陌生人的广告骚扰。 2、成员分类。 群组的人员上限为257。成员分为三类群主、管理员和普通成员。三者的权利依次减小。群…

邮件营销有效吗?分享几个实用的电子邮件营销策略和技巧!

(一)什么是电子邮件营销,它从什么时候开始的? 1971 年,Ray Tomlinson根据来源发送了世界上第一封电子邮件,标志着现代通信时代的开始。这条信息没什么特别的,一串数字和字母,看起来…

element日历(Calendar)排班

修改展示 父组件内容 <template><!--排班管理--><div class"dutySchedule"><div class"dutySchedule-calendar"><el-calendar v-model"priceTime"><template slot"dateCell" slot-scope"{d…

Clickhouse 生成日历表

运行环境&#xff1a; SELECT version()Query id: 90d74a1e-3ce1-42b4-8b66-bd09802310c4┌─version()─┐ │ 20.12.3.3 │ └───────────┘1 rows in set. Elapsed: 0.002 sec.clickhouse的 date和datetime的时间范围目前只支持 [1970-01-01 00:00:00, 2105-12-…

邮件营销EDM(Email Direct Marketing) 运营笔记

我是2018年毕业后接触邮件营销&#xff0c;国内和国外的邮件营销都接触过。从最初和公司爬虫团队合作扩张性开发客户到现在的客户精细化运营&#xff0c;期间遇到过邮件营销各种各样的问题。好像发mass mail 被投诉垃圾邮件平台被封&#xff0c;送达打开率不正常&#xff0c;邮…

Tips系列之飞书日历

最近收到很多小伙伴的问题,咨询飞书日历如何使用,今天就给大家呈上几个小Tips,让你更全面的了解飞书日历! 👉免费使用​ 飞书官网 1、订阅日历 你可以订阅同事的日历,查看对方的忙闲状态,省去反复沟通的麻烦,快速找到空闲时间并邀约会议。 如何订阅日历方法一:在日…

使用日历丰富产品的用户体验

前言 经过一段时间的梳理和遴选&#xff0c;我挑选出了Android知识图谱中重要的部分&#xff0c;制作了一张脑图。读者朋友们可按照脑图查漏补缺了&#xff0c; 图片尺寸较大&#xff0c;仅附链接 。 当然&#xff0c;这是我按照自己的判断、结合参考其他博主的观点进行的挑选…

2023 热点营销日历:179 个重要节日 + 46 个关键事件 + 12 个经典案例

又是一年初始时&#xff0c;为大家准备了一份全年营销日历&#xff0c;速速领取收藏哟&#xff5e; 一月营销热点 营销话题&#xff1a;元旦、春节、春运、年味、团圆、旅游、FLAG…… 2023 开年注定是特殊的一年。三年消费欲望在这个春节集中释放&#xff0c;在外漂泊的游子踏…

likewen的救赎之路

likewen的救赎之路 标准化救赎之路,只针对本人 文章目录 likewen的救赎之路java的八股文算法操作系统&计算机网络企业开发基础mysqlspring系列spring5springbootspringcloud linux前端**设计模式**缓存redis 消息队列nginx?Netty**微服务**docker认识一下常用的类库测试其…

大会议题重磅出炉,豪华阵容等你面基!RustChinaConf 2023!【附第一天议程】

本次大会议题品质一流&#xff0c;嘉宾多来自行业一线&#xff0c;干货多多&#xff0c;且在各领域遍地开花&#xff0c;可看出Rust星星之火在中国已成燎原之势&#xff01; 大会时间地址 6.17 - 6.18 浦东新区张杨路777号 上海锦江汤臣洲际酒店 官网地址 https://rustcc.cn/20…

张俊林:大语言模型带来的交互方式变革

来自&#xff1a;机器之心 演讲&#xff1a;张俊林 进NLP群—>加入大模型与NLP交流群 7 月 8 日&#xff0c;在机器之心举办的 2023 WAIC AI 开发者论坛上&#xff0c;新浪微博新技术研发负责人张俊林先生发表了主题演讲《自然语言交互&#xff1a;大语言模型带来的交互方式…

Hyper-v的客户端连接工具VMConnect

我们在玩Hyper-v的时候&#xff0c;一般也是走走套路&#xff0c;创建个虚拟机&#xff0c;中间可能会因为到底要给这台虚拟机分配多少内存多大硬盘作一番思想半争&#xff0c;因为内存不多了&#xff0c;硬盘不够了&#xff0c;然后&#xff0c;就是连接虚拟机&#xff0c;启动…

vmware 虚拟机nat连接,局域网访问

vmware nat设置可以让虚拟机联网&#xff0c;这是比较常接触的用法。网上很多教程。 联网成功后想让局域网内别的机器访问&#xff0c;就需要绕个弯。nat的方式仅仅只是让你的虚拟机在你的机器上&#xff0c;通过你的网卡转发&#xff0c;才能访问网络。也就是说&#xff0c;你…