0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

dyquk4xk2p3d 来源:良许Linux 2023-03-06 10:28 次阅读

	

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

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

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

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

变量名越简单越好

比如,变量名用 a 替代 age

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

至于可读性?

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

相信我,怎么快怎么来。

//推荐写法
leta=42;
//不推荐写法
letage=42;

不要写注释

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

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

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

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

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

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

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

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

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

尽可能把代码写成一行

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

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

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

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

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

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

不要处理错误

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

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

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

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

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

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

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

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

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

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

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

创建不需要使用的变量

//推荐写法
functionsum(a,b,c){
consttimeout=1300;
constresult=a+b;
returna+b;
}

//不推荐写法
functionsum(a,b){
returna+b;
}

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

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

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

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

多使用多重嵌套

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

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

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

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

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

//不推荐写法
asyncfunctionsomeFunction(){
if(!condition1||!condition2){
return;
}

constresult=awaitasyncFunction(params);
if(!result){
return;
}

for(;;){
if(condition3){
}
}
}

不要测试

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

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

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

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

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

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

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

好处多多。

over ~

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

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


审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 代码
    +关注

    关注

    30

    文章

    4556

    浏览量

    66800
  • 变量
    +关注

    关注

    0

    文章

    596

    浏览量

    28112
  • 开源项目
    +关注

    关注

    0

    文章

    36

    浏览量

    7099

原文标题:脏话越多,代码越好!

文章出处:【微信号:良许Linux,微信公众号:良许Linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    何为高质量的代码?如何写出高质量代码

    懂得“数据结构与算法” 写出高效的代码,懂得“设计模式”写出高质量的代码
    发表于 08-02 09:44 455次阅读
    何为高质量的<b class='flag-5'>代码</b>?如何<b class='flag-5'>写出</b>高质量<b class='flag-5'>代码</b>?

    如何写出好的代码?高质量代码的三要素

    脍炙人口的诗"春有百花秋有月,夏有凉风冬有雪",意境唯美,简明易懂。好的代码也是让人陶醉的,那么如何写出好的代码
    的头像 发表于 01-05 11:29 659次阅读
    如何<b class='flag-5'>写出</b>好的<b class='flag-5'>代码</b>?高质量<b class='flag-5'>代码</b>的三要素

    如何写出时序最优的HDL代码?如何写出时序裕量足够的代码

    你想写出可以跑出700M以上的代码吗,直逼FPGA内部PLL的极限。
    的头像 发表于 03-12 09:59 362次阅读
    如何<b class='flag-5'>写出</b>时序最优的HDL<b class='flag-5'>代码</b>?如何<b class='flag-5'>写出</b>时序裕量足够的<b class='flag-5'>代码</b>?

    【FPGA参赛必看】教你怎样写出能获得评委高分的设计方案

    教你怎样写出能获得评委高分的设计方案第一部分 设计概述(请概括的描述一下你的设计,如:设计意图,适用范围以及针对用户群。同时请简要阐述一下你选用某款赛灵思器件来进行设计的原因。)第二部分 功能描述
    发表于 04-26 13:56

    怎样写好8051单片机的C程序

    怎样写好8051单片机的C程序,我是新手,不知从何下手,有哪些好的资料额
    发表于 04-14 21:51

    请问怎样写用蜂鸣器播放的音乐程序?

    请问怎样写用蜂鸣器播放的音乐程序?请大神指教
    发表于 08-02 21:40

    怎样写出高效的嵌入式C程序

    怎样写出高效的嵌入式C程序 编写高效简洁的C语言代码,是许多软件工程师追求的目标。本文就工作中的一些体会和经验做相关的阐述,不对的地方请各位指教。 第 1 招:以空间换时间 计算机程序中最
    发表于 04-03 17:11

    10个嵌入式小技巧 教你写出高质量代码

    就容易扯皮。4、必须写代码注释必须写注释,如果不写注释,时间久了,回过头来连你自己都看不懂。而且,一个项目不可能就你一个人负责,注释也能够让别的同事看懂你的代码,5、沟通需求并更改别指望需求会稳定不变
    发表于 12-20 16:19

    esp32c3怎样保护flash中的代码不被拷贝?

    想知道这个c3怎样保护flash中的代码不被拷贝。这个内置flash中的代码有没有可能被拷贝出来,如果可以拷贝,应该怎样保护。另一个问题 e
    发表于 02-17 08:28

    怎样写testbench-xilinx

    怎样写testbench-xilinx  在ISE 环境中, 当前资源操作窗显示了资源管理窗口中选中的资源文件能进行的相关操作。在资源管理窗口选中了 testbench 文件后
    发表于 02-09 13:46 64次下载

    介绍了五个简单的总体概念 可轻松写出写出代码

    我认为应该建立起良好的心态,这样,不管你用什么语言或者库,都会自然而然的写出高质量的代码。这里我主要谈到 5 个相关的概念。记住它们,轻松写出写出
    的头像 发表于 01-10 14:00 5535次阅读
    介绍了五个简单的总体概念 可轻松<b class='flag-5'>写出</b><b class='flag-5'>写出</b>好<b class='flag-5'>代码</b>

    教你怎么写出同事无法维护的代码

    使用相似的变量名。如:单词相似,swimmer 和 swimner,字母相似:ilI1| 或 oO08,parselnt 和 parseInt, D0Calc 和 DOCalc,还有这一组:xy_Z, xy__z, _xy_z, _xyz, XY_Z, xY_z, Xy_z。
    的头像 发表于 06-05 16:20 1428次阅读
    <b class='flag-5'>教你</b>怎么<b class='flag-5'>写出</b>让<b class='flag-5'>同事</b>无法维护的<b class='flag-5'>代码</b>

    教你写出同事无法维护的代码

    使用相似的变量名。如:单词相似,swimmer 和 swimner,字母相似:ilI1| 或 oO08,parselnt 和 parseInt, D0Calc 和 DOCalc,还有这一组:xy_Z, xy__z, _xy_z, _xyz, XY_Z, xY_z, Xy_z。
    的头像 发表于 12-09 15:45 980次阅读
    <b class='flag-5'>教你</b><b class='flag-5'>写出</b>让<b class='flag-5'>同事</b>无法维护的<b class='flag-5'>代码</b>

    一本教你怎么写出同事无法维护的代码

    ‍对,你没看错,本文就是教你怎么写出同事无法维护的代码。一、程序命名 容易输入的变量名 。比如:Fred,asdf 单字母的变量名 。比如:a,b,c, x,y,z(如果不够用,可以
    的头像 发表于 10-11 15:45 1004次阅读

    教你如何写出性能更高的SystemVerilog代码

    本文旨在帮助大家降低在编码过程中写出低性能和耗内存的概率,只要大家在写代码时稍注意下,积少成多。
    的头像 发表于 07-26 17:31 599次阅读
    <b class='flag-5'>教你</b>如何<b class='flag-5'>写出</b>性能更高的SystemVerilog<b class='flag-5'>代码</b>