每一位程序员都应该学习的优秀代码有哪些

发布时间:2021-10-18 17:28:29 作者:iii
来源:亿速云 阅读:167

本篇内容主要讲解“每一位程序员都应该学习的优秀代码有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“每一位程序员都应该学习的优秀代码有哪些”吧!

几年前,我查看 Python 语言代码时,突然发现了一些 C 语言编写的源文件,并检查了 GNU C 编译器集合的实现。我发现这个先进的 C  语言编译器就是用 C  语言编写的。学习事物的内部结构并深入了解,可以颠覆我们的认知并学到丰富的知识。过去的开发人员通过自己的辛勤工作,为现代开发人员创造了一个太平的世界。作为现代开发人员,我们应该感谢他们的出色工作。

当我浏览 Github 代码库时,我注意到各地的开发人员完成了以下的杰作。

阿波罗 11 号导航计算机(AGC)

阿波罗 11 号使人类第一次成功地登上了月球。只有 4KB  物理内存的阿波罗导航计算机(AGC)完成了对航天器的控制。AGC 的软件以 AGC  汇编语言编写,并存储在称为磁心线储存器(ropememory)的特殊只读存储器中。之前有人将源代码的扫描副本上传到了  Internet。然后,这几个模块被转换为文本文件,并上传到了 Github 代码库。

每一位程序员都应该学习的优秀代码有哪些

AGC 登月模块中的代码片段,作者截图

阿波罗(Apollo)工程团队付出了巨大的努力,编写大量的汇编代码来取得如此惊人的成就。在 1960  年代,编程可比现在困难多了。因为在那时,编程语言多为低级语言,需要直接操作硬件。所以,程序员必须编写精心优化的代码来提高硬件使用效率。

雷神之锤 III 竞技场

雷声之锤 III——竞技场是由 id Software 开发的第一人称射击游戏。它开发于上世纪 90 年代,当时由于 id  Tech4 等游戏引擎的技术的出现,3D  游戏行业开始兴起。不像现在,那时候硬件资源非常有限。因此,游戏开发人员必须编写精心优化的代码以实现图形元素的渲染。许多游戏编程都需要实现矢量归一化,这提出了对平方根倒数运算的需求。如前所述,开发人员必须为这些与图形计算相关的工作选择最有效的算法。因此,雷声之锤  III——竞技场开发团队使用一种非常聪明的方法进行平方根倒数运算,比如下面这样使用位级计算。

每一位程序员都应该学习的优秀代码有哪些

雷神之锤 III 竞技场中的平方根倒数快速算法,作者截图

这段代码的优化水平以及在 90  年代就能开发出如此出色的计算机游戏这一事实,真的很让人惊讶。如今,游戏开发通常不需要处理这一级别的计算,因为物理函数已经由游戏引擎实现。

GNU 编译器代码集

C 语言是高级编程语言的鼻祖,因为它既非常靠近硬件又能提供良好的可读性。作为 C 语言的编译器,GNU  是自引导的。换句话说,它是应用编译器引导概念的 C 语言程序。Github 上的 GNU 编译器代码库中的这个文件是我见过的最长的 C  语言源文件(可能有比这更长的 C 语言源文件,但是我没见过)。

每一位程序员都应该学习的优秀代码有哪些

GNU C 编译器中的解析器的源文件有 2 万多行代码,作者截图

Chromium

流行的 Web 浏览器(例如 Google Chrome,Microsoft Edge 和 Opera)很多是基于 Chromium  开源项目,该项目有两个主要依赖:1)Blink 渲染引擎。它是 WebCore 库的一个分支,该库由 Webkit 团队基于 KHTML/KJS  进行开发;2)v8 JavaScript 引擎。该引擎由 Chromium 团队开发。毫无疑问,Chromium 代码库非常大,并且依赖很多第三方模块,例如  gRPC 和 Skia。但是,Chromium  团队以一种非常优雅的结构来组织所有组件。他们非常明智地将用户界面和内部函数分开,以提高整个工程的可维护性。

每一位程序员都应该学习的优秀代码有哪些

划分良好的 ChromiumUI 组件抽象层的目录结构,作者截图

此外,此代码库还包含 Chromium Android 和 iOS  手机端程序的源代码。大规模的跨平台应用程序目录结构的划分可能会有些复杂。但是,Chromium 对 Linux,Windows 和 Mac  不同平台代码目录结构的划分做的非常棒。

Gitk

如今,基本上每一个软件开发团队都会使用 Git 来进行代码历史和版本的管理。Git 最初由 Linux 内核的创始人 LinusTorvalds  开发。确实,Gitk 的源文件的 Git 代码中一个神奇的模块。Gitk 是一个 GUI 应用程序,可以让我们以可视化方式浏览历史提交记录。我们可以使用以下的  CLI 命令来比较两次提交之间的差异。

$ git diff <commithash> <commithash>

但是,借助 Gitk 的可视化展示方式,我们可以更快速地明白不同提交之间的差异。Gitk 的整个源代码只有一个文件。它是使用 Tk UI 工具包(Tcl  的扩展程序)以 Tcl 脚本语言编写的。它仅仅通过一个源文件就实现了整个 GUI 应用程序,还选择了一种动态编程语言来大大加快 GUI  应用程序的开发速度。

每一位程序员都应该学习的优秀代码有哪些

Gitk 由约 1 万 2 千行代码的单个源文件来实现

到此,相信大家对“每一位程序员都应该学习的优秀代码有哪些”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

推荐阅读:
  1. 同样都是程序员 为何你如此优秀
  2. 优秀的程序员都热爱写作

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

javascript php

上一篇:Github上超有意思的前端项目有哪些

下一篇:PHP连接数据库如何实现最基本的增删改查

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》