首页
学习
活动
专区
圈层
工具
发布

什么是好代码,Linux大神来告诉你

在工作中经常有同学在讨论,到底什么是好代码? 对于好代码,相信每个人都有自己的理解,可能它是包括以下几个维度: 关于代码结构本身; 关于功能实现; 关于学习成本; 关于程序可读性......记得某一期的TED邀请了 Linus,里面讲到了他个人对生活的品味,以及为啥有 Linux 等等。其中Linus 提到了对 “好代码”的一些看法,一起整理分享给大家。 1....Linus Torvalds 是Linux内核的缔造者,22岁他还在上大学的时候,就把Linux内核写出来了, 在他购买IBM PC的时候,第一想法是为这个PC写一个操作系统,而不是像普通人一样地去装这个系统装那个软件...Linux 内核基本上全部是C语言实现的,底层的/boot由汇编实现,大量的移位运算,按位运算,定点移位运算,速度极快!...Linus Torvalds两次改变了技术,第一次是Linux内核,它帮助互联网的发展;第二次是Git,全球开发者使用的源代码管理系统。

1.2K30

Linux的九大特点——说明为什么服务器都用Linux

1、Linux开源免费 Linux开源是指Linux操作系统的源代码是公开的,任何人都可以查看、修改和分发。...Linux的前世今生 Linux的前世可以追溯到上世纪60年代末和70年代初,当时贝尔实验室开发了UNIX操作系统。...Linus Torvalds将Linux开源,并将其放在互联网上供其他人使用和改进。 随着Linux内核的开源,许多开发者和社区开始为Linux内核和相关软件开发各种组件和工具。...Linux系统的迭代更新通常是由Linux内核的更新推动的。Linux内核是操作系统的核心部分,负责管理硬件和软件之间的交互。...如何证明Linux系统的稳定性 要证明Linux系统的稳定性,可以采取以下几种方法: 统计数据:通过收集和分析Linux系统的稳定性数据来评估其表现。

1.8K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    编程开发工具一览:新手到大神,程序员都用什么写代码?「建议收藏」

    Vim 适用于 Linux 操作系统的文本编辑器,这个编辑器比较 “特殊”,没有华美的界面,操作都在小黑框框中进行。...后台开发中,有时我们需要对 Linux 服务器上的文件进行编辑,使用 Vim 就能直接解决了,因此多少还是要学习一点它的基础用法。...Atom GitHub 开源的代码编辑器,官网称其为 21 世纪的极客编辑器,特点是简洁炫酷,让人一看就想写代码哈哈。...Web 编辑器 除了本地开发外,还可以使用 Web 在线编辑器直接编写和运行小代码,更高效!...为什么选择这些本地开发工具呢?其中很重要的一点是它们都支持安装插件。建议大家像我一样,通过安装插件来增强开发工具的功能,比如快捷键提示、代码提示、代码美化、代码检测、代码生成、代码小地图等。

    3.1K30

    为什么都用哈希? Hash 表认知

    —— 泰戈尔 《生如夏花》 Hash 表的时间复杂度为什么是 O(1) 讲 Hash 之前,简单聊聊数组(直接寻址表) 数组 数组是内存中一块连续的空间,并且数组中必须存放相同的类型,所以存放数组只需要记住...public native int hashCode(); 通过一个具体的例子来解释 Java 中 HashMap 的 hash 方法是如何工作的,以及为什么通过对原始哈希值的高 16 位和低...取模运算(modulo operation),取模运算可以用于任何大小的哈希表,不仅限于2的幂: index = hash_value % table_size 这也是上面为什么要容量是2的幂,除法运算通常比位运算慢...序列化效率较高,可以直接将内存中的数组映射到磁盘(如 Linux 的 mmap 机制),这对于大规模数据的备份非常高效。...调优哈希函数 上面我们讲到 Java 中 String 类通过 BKDR 哈希算法计算哈希值,这里的 31 为基数,哈希函数为什么基数必须是素数,欢迎小伙伴们留言讨论 ^_^ 它的计算量很小:n*31

    39310

    Linux —vim 编辑器

    Linux vim 编辑器 1、vi/vim介绍 Linux下常见的文本编辑器有: emacs pico nano joe jed vi 诸如此类,但我们只需要掌握vi/vim即可 vi编辑器是linux...和unix上最基本的文本编辑器,工作在字符模式下。...由于不需要图形界面,vi是效率很高的文本编辑器。尽管在linux上也有很多图形界面的编辑器可用,但vi在系统和服务器管理中的功能是那些图形编辑器所无法比拟的。...vi编辑器可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的。 vim是vi的增强版,比vi更容易使用。...2、vi/vim使用详解 2.1 vi/vim的特点 •vi/vim是一种纯文本编辑器,它不像word可以排版,可以调整字体大小,可以改变字体等等。

    5.9K20

    【CC++】为什么不都用memmove代替memcpy

    memmove相比memcpy增加了内存重叠的判断,更加安全,效率只是差了那么一丢丢, 为什么经常看见memcpy, 很少看见memmove 呢 ?...说的那一大段,当时背景就是 adobe flash player 里有一些该使用 memmove 的地方误用了 memcpy,glibc 某一次升级后暴露了 flash 的这个问题,导致 flash 在 Linux...另,现在很多 Linux 发行版已经在 gcc 中默认把 _FORTIFY_SOURCE 给打开了,它给很多函数增加额外的安全检查,例如 memcpy(dst, src, n) 会被替换成 __memcpy_chk...可以看出,大家现在已经不再认为这些简单的检查会有什么效率问题。 C 的历史太久,不要觉得它的设计都是对的。...再举个例子,time 函数大家都熟悉: time_t time(time_t *ptr); 为什么它既把时间写进 *ptr,又作为返回值返回呢?

    93730

    为什么大家都用i标签用作小图标?

    综合来看,从实用性上暂时没看出有什么缺陷,所以目前用不用 取决于你对于遵循规范有多洁癖。...简短的解释是,对于这两种语法没有什么不同,仅仅一点的不同是,伪元素(双冒号),css3中的伪类是(单冒号) 最后就语法而言。...这会是对如何设计伪元素的一个简要的说明,看我下面文本编辑器的这幅图 在这个例子中,我高亮的样式将被应用到元素里插入到目标元素内容的前面和后面。 还要注意的是典型的CSS继承规则适用于插入的元素。...之前或之后是什么? 你的直觉是:before和:after伪元素可能是 插入的内容会被注入到目标元素的前或后注入?但是,正如上面提到的,不是这样的。...此功能,根据规范 ,“把X属性的值以字符串的形式返回” 下面是一个例子: a:after { content: attr(href); } attr()函数的功能是什么?

    3.5K52

    算力都用不起,还谈什么元宇宙,AGI

    要说2021年科技界最火的概念是什么?那便是「元宇宙」。 《黑客帝国》、《头号玩家》里的世界真的会来临吗?未来不是没有可能! 要想实现元宇宙,最基础,最重要的「能源」便是来自算力。...要说这个夏天AI领域有什么热点,那一定少不了全国各地争建的人工智能计算中心。 在政策扶持、需求牵引下,智算中心「落地潮」在上海、大连、西安等多地被快速掀起。 但问题与挑战也随之而来......还谈什么元宇宙,AGI。 一份公开资料显示,2020年城市A的智能计算中心,每100P Flops (每秒10亿亿次浮点运算)16位精度的算力建设成本为7500万元。...要推动平台服务和技术的开源,通过降低应用门槛,让学术界、产业界,甚至普通民众都用上人工智能。

    1K30
    领券