阅读更多

0顶
0踩

非技术

转载新闻 好代码是怎样炼成的

2015-11-09 15:37 by 副主编 mengyidan1988 评论(2) 有5564人浏览
作者:Erica Sadun,原文链接
译者:小铁匠Linus;校对:千叶知风

最近有个人发 Email 问我:“好代码是怎样炼成的”。之前,我身体有点不舒服,所以我漫无边际的说了下。现在好多了,所以我想分享一下以下这些想法,因为我觉得这些对于这次重要的讨论来说是一个有趣的起点。
当时,我写道:
  • 好代码并不只是可以编译而已,它还会沟通。它会和现在的你交谈,也会和以后维护代码的你交谈。它对于你的团队和任何外部来查看的人来说都是可以被理解的。
  • 好代码对可靠性和可测试性的要求胜过聪明的小技巧。如果需要清晰的表明自己的意图和结果,好代码会更倾向于使用一个或多个额外的步骤来表达。
  • 好代码也考虑其使用程度,一段代码一次跑一百万遍和只跑一遍的要求是不同的,就好比在树林里的一棵树和孤零零的一棵树那样。
  • 好代码即使被分解了也可以成为合理的单元,而不是大规模的单一的实现。
  • 好代码不仅仅是实现一次或两次,而且还要审查和重构。这才有可能让它成为最好的和最健壮的实现。
  • 好代码会考虑到全球化,并提供给不同文化的潜在用户。添加国际化以及相关的可访问性,这些真的是代码层面的事情,而不是嘴上说说的马后炮而已。
  • 好代码不仅仅考虑今天具体运行在什么环境上,也考虑如何适应这些可能随时间变化的环境。

以上是我想到的,你对我关于这个“好代码是怎样炼成的”话题列出的清单有什么想添加、删除、修改的?期待看到你们的想法。

更新
Seivan Heidari 建议添加:好代码会在作为 API 为外面调用时,不提供内部的实现细节。
Anonymous 建议添加:好代码是浑然天成的。好代码可以照你需要的样子执行,且能被按时交付,其余的都是扯蛋哈哈。
Dave DeLong 建议添加:好代码会让读的人产生敬畏,并使读的人受到启发从而也去写自己的好代码。
Paul Cantrell 建议添加:好代码会注意权衡。它会根据工程来权衡,而不是按照绝对的教条。它也不会让工具或技术成为组内状态标记(in-group status markers)。
Rainer Brockerhoff 建议添加:好代码可以被很轻松的重用(即使是在几年之后),也能只用几行代码来进行扩展或改编。
0
0
评论 共 2 条 请登录后发表评论
2 楼 wst0350 2015-11-20 14:06
支持楼上!!!!
1 楼 如若_晴 2015-11-12 16:29
应该改个名字:什么样的代码才是好代码

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 【ChatGLM vs ChatGPT】怎样实现机器人自动写代码?不少于3000字。

    代码优化技术是机器人自动写代码的重要技术,它能够根据已有的代码,对代码进行优化和重构,从而提高代码的执行效率和质量。程序分析技术是机器人自动写代码的关键技术之一,它能够分析已有的代码,识别出代码的结构...

  • 【jieba分词】必练代码

    大家好,这是【jieba分词】必练代码,已经经过实践测试,博客中已经记录,有需要的朋友可以下载哦!建议结合博主专栏【Python从入门到人工智能】学习,效果会更佳哦!

  • 国内常见的14款低代码平台介绍

    今天给大家分享国内常见的14款低代码平台,欢迎收藏!

  • MSP430系列单片机的加密熔断器是怎样炼成的?

    本文所介绍的加密熔断器在实际应用中取得了非常理想的效果,可对MSP430系列单片机的保险丝进行可靠而有效的熔断,完全保护了MSP430单片机中的代码安全。整个系统的成本控制在30元左右,在实际的使用中达到非常好的...

  • 什么是代码评审(Code Review)

    Code Review(CR)即代码评审,又名代码走查,是一种通过复查代码来提高代码质量的过程,一般体现在一个团队的开发过程中。CR要求团队成员有意识地、系统地检查彼此的代码,从而验证需求、发现错误,同时指出其中...

  • 你真正了解低代码么?(国内低代码平台状况分析)

    国内低代码发展趋势解读。

  • 【JAVA百炼成仙】特别篇——四行代码编写翻译工具

    如何用四行代码编写简单的翻译工具

  • 好看的颜色代码

    #807dba Orchid Lilac(丁香色) #b172b6 Pink(粉红) #e170a4 Old Rose(旧玫瑰色) #c95f6a Burnt Sienna(炼瓦色) #d77856 Apricot Topaz(杏黄) #d89048 Blond(金棕) #ccba48 Leaf Green(叶绿) #b3b140 ...

  • 高手是怎样练成的_(梁肇新)

    很好的资料!!!程序员怎样才能达到编程的最高境界?最高境界绝对不是你去编两行代码,或者是几分钟能写几行代码,或者是用什么所谓的可视化工具产生最少的代码这些工作,这都不是真正的高手境界。即使是这样的高手...

  • SwinUnet官方代码训练自己数据集(单通道灰度图像的分割)

    官方Swin-Unet代码训练自己的数据集

  • Siamese网络代码详解 && 训练自定义数据集 && 模型推理

    开门见山,Siamese网络结构如下所示:模型训练数据集的准备:无论是训练...需要注意的有两点:训练过程如下图所示:推理 训练好的模型文件在.\logs\中存放,我们修改siamese.py文件中的model_path路径,其他的不动

  • YOLOV5手势识别数据集+代码+模型 2000张标注好的数据+教学视频

    1.目标检测格式数据集,标签为yolo的txt格式 2.手势识别数据集,支持[ 'A', 'number 7', 'D...3. 提供3组训练好的YOLOV5模型 4.代码中包含图形化界面 5.提供B站视频教程:https://www.bilibili.com/video/BV1YL4y1J7xz/

  • yolov7开源代码讲解--训练代码

    以前看CNN训练代码的时候,往往代码比较易懂,基本很快就能知道各个模块功能,但到了后面很多出来的网络中,由于加入了大量的trick,导致很多人看不懂代码,代码下载以后无从下手。训练参数和利用yaml定义网络详细...

  • BP神经网络预测matlab代码讲解与实现步骤

    matlab代码编写4. BP代码运行结果4.1 预测值和真实值的误差计算(MAE、MSE、MRSE)4.2 BP网络训练的性能分析图像5. 结语6. MATLAB代码 1. BP神经网络的简介和结构参数 神经网络是机器学习中一种常见的数学模型,...

  • YOLOV5火灾检测数据集+代码+模型 2000张标注好的数据+教学视频

    YOLOV5火灾检测数据集+代码+模型 2000张标注好的数据+教学视频

  • 7个入门级Python项目代码,练手必备

    包括好多大神写的好几百行代码,为的是解决一个Excel本身就有的成熟功能。3、很多人是用来抓图,数据,抓点图片、视频、天气预报自娱自乐一下,然后呢?抓到大数据以后做什么用呢?比如某某啤酒卖的快,然后呢?比如...

  • Python-爬虫-学习代码(学习使用)【Python爬虫练手项目】

    大家好,这是关于Python——爬虫 的学习代码,均已经在博客中记录,可以为正在学习爬虫的朋友提供项目练手的使用。

  • 提高代码速度的“正确姿势”

    前言:本篇文章无关计算机技术,是作者最近发现有不少小朋友在...首先,你不妨想一想平时coding的过程当中,你是否频繁从键盘切到鼠标/触控板,有没有感觉到从键盘切换成鼠标/触控板的过程已经对你的码字速度造成了影

  • 程序员表白代码.zip

    一堆非常好玩的html源代码,非常适合IT男表白的神器,让你一IT男的方式和你女盆友浪漫一会!也可以优化你们的个人博客,可以作为Web前端的练手好项目

  • 低代码是什么?有什么优势

    通过简单的拖拉拽操作,而不用编写复杂的代码,实现少写代码或者不写代码,就能快速高效完成业务目标。01 低代码平台演进1. 低代码概念低代码是无需编码(0 代码)或通过少量代码就可以快速生成应用程序的开发平台。...

Global site tag (gtag.js) - Google Analytics