别担心,这些代码写的比你的糟糕多了!

本文展示了令人啼笑皆非的糟糕代码实例,并分享了五个简单实用的编程技巧,帮助提升代码质量。

来源:麦叔编程

作为一个老司机,我见过很多让人吐血的代码,关键是其中有些我自己写的。

对于这种代码,我只能说:咱看不懂,也不敢修改!

下面我分享一些看了让人啼笑皆非的代码。最后再分享几个很简单实用的写代码的技巧。

1. 糟糕代码大赏

下面来看一些糟糕的代码,是不是比你写的还糟糕:

有办法可以更简洁一点吗?

都说Scratch容易懂,我怎么觉得这个很难懂呢?

再来一个Scratch的程序

大哥,用程序画图也不带这样的吧?

这个代码一共980行,没有更好点的写法吗?

这是我同事写的,3个月后,我问他,他自己都不理解了!

支持6个玩家的游戏代码,如果要支持100个玩家呢?

异曲同工之妙,一个编程老师写的代码,不担心教坏学生吗?

这个代码,你到底想怎么样?

简洁是美德,但是这样真的难以看懂啊!

这样的代码,我可能也写过,都是为了捉异常:

这个代码,开发者本人能在一分钟内看懂,我就服了他了

学点正则表达式会死吗?据说来自12306的源代码:

这是啥东东?

WTF?

确定写这个代码的人不会被打吗?

人肉递归?

写注释是好习惯,可你这也太多了吧?

2. 把代码写的好点的5个小技巧

曾经有个大厂程序员朋友说过:

一个程序模块,每个新接手的人都会说之前写这个模块的人是SB!

然后自己添加功能,添加功能,添加功能!

一段时间后,交给后一个人接手,并重复着这个故事!

为了让这个故事在你这里结束掉,我来分享几个很简单的小技巧:

  1. 取有意义但简单的变量名,避免i, j, k, l, m, n这样的变量,也尽量避免太长的变量名。

    当然,我同意:取变量名是世界上最难的事情之一!

  2. 每个函数不超过15行,这不是绝对,总的来说,函数不要太长。

    这怎么可能做到呢?可以的,看下一点建议。

  3. 把一大段逻辑封装到多个小的函数中,每个函数实现一个比较独立的功能,函数名要直观,看了就知道是什么意思。

    有时候你觉得没法分割了,其实可以的。一个复杂的逻辑判断都可以封装到一个函数中,这样在主函数中会非常清楚的知道在做什么。比如:

    def is_maishu_handsome():
      # 此处有很多逻辑判断
      return True
    

    如果你去看一些优秀的源代码,比如编程语言自带的库中的源代码,会发现很多这种短小的函数,它们都基本做到了上面三个点。

  4. 适当加注释

    这里说的是适当,但是不宜过多。为什么呢?因为代码本身就是最好的注释。好的代码,如行云流水,看了就知道什么意思。还需要那么多解释吗?

    所以首要的是写好的代码,不要过多靠注释来掩饰自己的不够优雅的代码。

  5. 勇于重构代码

    代码就像一个人,开始身材苗条又单纯,容易看懂,运行速度也快。但随着生长,变得又胖又臃肿,不敢做出改变。这时候人要加强锻炼,不断突破自己。而代码也是一样的,随着功能不断增加,必然会代码越来越长,逻辑越来越复杂,这时候大胆的去重构,提取新的函数,应用新的设计,才能继续保持年轻,快速。

就分享5个,如果你能做到,上面的故事就会从你这里终结掉。谢谢你为中国代码的平均水平提高作出贡献!

---------End---------

????分享、点赞、在看,给个三连击呗!???? 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值