广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >每一位程序员都应该学习的优秀代码有哪些
  • 624
分享到

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

2024-04-02 19:04:59 624人浏览 安东尼
摘要

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

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

几年前,我查看 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 AndroidiOS  手机端程序的源代码。大规模的跨平台应用程序目录结构的划分可能会有些复杂。但是,Chromium 对 linuxwindowsMac  不同平台代码目录结构的划分做的非常棒。

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 千行代码的单个源文件来实现

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

--结束END--

本文标题: 每一位程序员都应该学习的优秀代码有哪些

本文链接: https://www.lsjlt.com/news/83578.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 每一位程序员都应该学习的优秀代码有哪些
    本篇内容主要讲解“每一位程序员都应该学习的优秀代码有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“每一位程序员都应该学习的优秀代码有哪些”吧!几年前,我查看...
    99+
    2022-10-19
  • 每个程序员都应该知道的Linux命令有哪些
    这篇文章主要介绍了每个程序员都应该知道的Linux命令有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。让我们从处理一些数据开始。假设我们有两个文件,分别记录的订单清单和订...
    99+
    2023-06-16
  • 每位设计师都应该拥有的CSS代码片段有哪些
    这篇文章主要讲解了“每位设计师都应该拥有的CSS代码片段有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“每位设计师都应该拥有的CSS代码片段有哪些”吧!...
    99+
    2022-10-19
  • Java程序员应该学习的技术有哪些
    这篇文章主要讲解了“Java程序员应该学习的技术有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java程序员应该学习的技术有哪些”吧!1、DevOps (Docker and Jenk...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作