怎样写一手烂代码

写代码其实就像写文章一样,不仅需要有一个主旨,告诉别人代码的作用是什么,还要在精炼与易读之间做权衡,代码过于精炼,整体逻辑难以跟随,代码过于易读,整体就显得比较臃肿。

如果问你什么是好代码,相信你能说出一堆规则,比如使用一致的格式和缩进、使用清晰的变量名和方法名、在必要时提供文档与注释、不要过度精简代码等等。那么,对于什么是烂代码,你是否有个比较清晰的认知呢?

日前,公众号“机器之心”编译了 GitHub 上的一个项目,该项目介绍了“最佳垃圾代码”的 19 条关键准则。本文从中精选出 10 条准则分享给你,你可以从相反的角度来理解这些观点,避免写出垃圾代码。

1. 打字越少越好

输入的东西越少,那么就有越多的时间去思考代码逻辑等问题。

2. 不要写注释

反正代码都看得懂,为什么要写注释?或者说,反正没人看我的代码,为什么要写注释?

3. 尽可能混合不同的格式

为了代码的多样性,你尽可能混合不同的格式,例如单引号或双引号。如果它们的语义相同,那就应该混用。

4. 发现错误保持静默

当你发现某些错误时,其他人不需要了解它,因此你不必打印出日志。

5. 构建备用变量

以防万一,你需要创建一些备用变量,在需要时随时调用它们。

6. 锁住依赖项

每一次要安装新库时,更新已有的依赖项。为什么要维持之前的版本呢,你需要时刻保持最新的第三方代码库。

7. 混合缩进

你要避免采用缩进,因为缩进会使复杂代码在编辑器中占用更多的空间。如果一定要采用缩进的话,可以使用混合缩进策略。当然,这种策略在 Python 中是行不通的,因为它靠缩进来确定代码结构。

8. 长函数比短函数好

不要将程序整体逻辑分割为一些代码块,要是 IDE 突然不行了,它找不到必要的文件或函数该怎么办?因此,你需要把代码写在一个主体函数中,并且不再维护额外的函数导入或代码文件,这样的方法才是最稳定的。

单个文件一万行代码是没问题的,单个函数一千行代码也是没问题的。

9. 代码不需要做特定测试

这些测试通常是重复且无意义的工作。

10. 保存不必要的代码

在写代码的过程中,经常会产生很多测试代码。这些代码也是非常重要的资料,因此不能删除掉,最多只能注释掉。

以上就是写出烂代码的 10 条准则,如果你想写出好代码的话,就要从相反的角度进行理解。在你看来,还有哪些烂代码准则呢?欢迎在留言区补充。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容

  • 推荐文章:禅与 Objective-C 编程艺 前言 为􏰀高产品代码质量,指导广大软件开发人员编写出简洁、可维护、...
    WolfTin阅读 2,685评论 0 1
  • 目录及笔记链接 序 丹麦谚语:小处诚实非小事。 建筑师路德维希:神在细节之中。 日本的 5S 哲学: 整理(整理、...
    小镭Ra阅读 1,431评论 3 3
  • 更新时间:2016/5/13 介绍 本文档所提供的编码规范,适用于主要的Python发行版中组成标准库的Pytho...
    超net阅读 5,806评论 0 15
  • Python的初学者,开发者都应该知道的代码可读性提高技巧,本篇主要介绍了如下内容: PEP 8是什么以及它存在的...
    妄心xyx阅读 1,744评论 0 16
  • 红情之.三 看来年味浓, 高挂几灯笼。 温暖心中景, 吉祥好运逢。
    明月清泉_e47b阅读 248评论 2 8