最棒的程序代码,不是程序代码

2024-01-11 18:58
文章标签 不是 程序代码 最棒

本文主要是介绍最棒的程序代码,不是程序代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  文/Mr. Jamie

  上次聊过工程师的生产力不应该用程序代码来衡量,因为他们的极致生产力,是在少写几行程序,而不是在多写几行程序。今天刚好又看到两篇文章,可以用不同的面向延伸、解释这建事情。

  首先,是一位跑去日本教英文的前任软件工程师,发现了写程序和学语言间的共通性,他说:

这些工程师往往可以轻松的通过面试,但当他们真正开始工作,却让人大失所望。我读了很多关于这个问题的研究,但当我越看它,就越发现这些「残障工程师」,就好像我的英语学生一样。他们有 5,000 字的词汇,书里面的每一个文法都背得滚瓜烂熟,但是就是说不出一句话。

我的理论是,程序其实就跟写作没什么两样。多数的程序概念上一点都不难(跟你想的不一样),我们搞不好的原因往往只是写作能力太差。大部分的工程师根本就不是「流畅」的语言使用者,也没有努力想要让自己变得流畅。他们不去多读读他人的程序,看不懂也不会使用「成语」,更不会「用程序语言来思考」。这些人写出来的程序很糟,因为他们根本就是计算机语言的三岁小孩,却试着要写一本小说。

  所以如果你是软件工程师,多读读别人的程序代码,是很重要的,就跟学习写作一样。

  相反的,如果你的程序想要让人家读懂,那 documentation 是非常重要的。GitHub 工程师 Zach Holman 发表了一篇非常棒的文章,详细解释了为什么你要写文档,怎么写。

  1. Documentation 是个人的 —— 相信我,你以后一定会回来改这些程序,如果要让未来的自己更快进入状况,把事情搞定,今天请你务必把东西写清楚。
  2. Documentation 是清楚的 —— 如果你不把你推出去的程序代码讲清楚,那根本是在帮自己找麻烦,以后一定会出现一堆 bugs、困惑的同事,最后搞得自己更累而已。
  3. Documentation 是可以测试的 —— 因为你必须要把程序的逻辑解释清楚,这让你重新思考自己的写出来的东西是不是符合原始精神,有没有更好的方式。为了不在写文件时陷入无法解释的难关,这也迫使你简化每一个功能,把一个复杂的东西切成好几个功能。
  4. Documentation 是可以比较版本的 —— 好的文件可以让版本间的比较更容易,也让团队合作更有效率。
  5. Documentation 是营销 —— 透过好的文件,可以让下载你软件的人更容易开始使用,这也大大提升了转换率。
  6. Documentation 让你表现更棒 —— 这点 Zach 还在验证,不过他认为建立好的文件让你很酷,这应该对自信会有帮助。

  以上,希望这些观念可以帮助你们更了解工程师、效率和生产力之间的关系,加油!

  (Image via zooboing, CC license)

这篇关于最棒的程序代码,不是程序代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/595380

相关文章

Marsview这么好用?快速搭建后台不是梦

Marsview竟然这么好用?快速搭建后台不是梦! 还在为项目开发而焦头烂额吗?别再纠结了,Marsview来了!这个面向后台管理系统的低代码平台,不仅让你轻松搭建项目,还能让你成为团队中的“流量担当”。本文将带你了解 Marsview 的核心功能、技术架构,以及如何快速上手。 软件简介 Marsview 是一款专为中后台管理系统设计的低代码可视化平台,能够帮助开发者快速完成项目搭建和

20190315 把整理和培养自己当作一生的事业,而不是局限在找工作拿offer。

把整理和培养自己当作一生的事业,而不是局限在找工作拿offer,做有本事的人。 来东南读研半年了,明显感觉自己掌握的不过是书本知识级别的中上水平,垃圾收集器这些的只知道背面经,靠脑子硬记,缺乏整理和系统,一头浆糊。 现在一边做实训这个烂项目,一边刷面经,一边刷剑指offer,想投些大公司的实习,又觉得还没准备好,看着各 种面经,都能说个大概,但明显感觉到自己知识的不体系和不深入,**做的项目

OpenAI澄清:“GPT Next”不是新模型。

不,”GPT Next” 并不是OpenAI的下一个重要项目。 本周早些时候,OpenAI 日本业务的负责人长崎忠男在日本 KDDI 峰会上分享了一场演讲,似乎在暗示一个名为 “GPT Next” 的新模型即将出现。 但OpenAI的一位发言人已向Mashable证实,幻灯片中用引号括起来的”GPT Next”一词只是一个假设性占位符,旨在表明OpenAI的模型如何随着时间呈指数级进化。发言人

去 IOE 的本质不是 PR 砸场,而是云端再造

「青云一直有一个目标,就是要建立一朵更好的云,全模云的推出也标志着我们在实现这个目标上往前走了一大步。」 本文由青云QingCloud CTO 甘泉的演讲内容整理而来,共 2628 字,8 图,阅读大概需要 7 分钟。 青云QingCloud 如何解决「敏态」问题 先谈谈传统业务的 IT 部署模式,基本上都是刀片机+存储柜的模式,它们都是真实的物理机,上图密密麻麻的是刀片机,右边是存

cmd命令无法使用的情况(显示该命令不是内部或外部命令)

CMD 命令无法使用显示不是内部或外部命令,也不是可运行的程序或批处理文件。 问题所在:就是环境变量导致无法使用 重新配置环境变量    (注意是“用户变量”!而不是“系统变量”) 需添加环境变量如下 %SystemRoot%\system32%SystemRoot%%SystemRoot%\System32\Wbem%SYSTEMROOT%\System32\WindowsPo

大数据只是听起来唬人?其实啥也不是。

点击上方蓝色字体,选择“设为星标” 回复”面试“获取更多惊喜 各位读者大佬们晚上好。 前两天一个读者找到我,问了一些问题。想来大家都是同龄人,虽然素不相识,但是我想起来我前几年刚毕业的时候,大概也是怀揣这样的问题,进入到了这么一个行业。 这个同学的问题大概也是很多新手同学的疑问罢。 这位同学在学校一直学习的是Java后端的工作,「然后现在做实时流平台,岗位是Java大数据,工作一年半了快,但

函数能否返回对象,而不是指针

现有一通用 获取记录集合函数 function GetRec(StrSql:string):Tadodataset; var rec1:Tadodataset; begin rec1:=TADODataSet.Create(nil); rec1.Connection:=ADOConnection1; rec1.CommandText:=strsql; rec1.Open; result:=rec1

Bagging: 数量,而不是质量。

由 AI 生成:过度简化的树、引导聚合、集成方法、弱学习器、减少方差 集成方法 — 数量,而不是质量 一、说明         机器学习中的集成方法是指组合多个模型以提高预测性能的技术。集成方法背后的基本思想是聚合多个基础模型(通常称为弱学习器)的预测,以生成通常比任何单个模型更准确、更稳健的最终预测。一般而言,我们通常遵循质量胜于数量的原则。然而,在这种情况下,事实证

[Python][不是说CPython]Cython语法与Pyton语法对比及相互转换和Python引入C函数完整示例

Cython语法与Pyton语法对比及相互转换和Python引入C函数完整示例 注意,这里说的Cython不是CPython啊,两码事。 Cython的语法在这里。 Cython 是 Python 的超集,旨在提高 Python 代码的执行速度。它允许你在 Python 代码中混合使用 C 语言的功能和类型,使得代码在一些场景下能够显著加速。以下是 Cython 语法和 Python 语法的对比

【Hot100算法刷题集】哈希-01-两数之和(暴力枚举再优化,也不是哈希表的对手)

🏠关于专栏:专栏用于记录LeetCode中Hot100专题的所有题目 🎯每日努力一点点,技术变化看得见 题目转载 题目描述 🔒link->题目跳转链接 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target 的那 两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。 你可以按任