如果谷歌的主页这么小,为什么源码是几百行代码

If Google's homepage is so minimal, why is the source hundreds of lines of code?

本文关键字:代码 百行 源码 为什么 主页 谷歌 如果      更新时间:2023-09-26

代码被缩小,但重新格式化的是几百行代码。我想这样一个最小的页面也有最少的代码。谷歌在做什么,来源这么长?我可以看到很多都是javascript,但我的印象是内联这么多javascript是一种不好的做法。

该代码中至少有一个区块用于即时搜索的ajax回调。

此外,当你考虑内联Javascript是否不好时,你应该考虑替代方案。如果代码位于单独的文件中,则它将是另一个http请求,这意味着页面将以更高的延迟加载。

JavaScript 可能没有内联在其未构建的源代码中。这将是潜在的不良做法。通过在构建时将其内联到页面源代码中,页面无需发出任何其他 HTTP 请求即可下载单独的资源文件,因为 HTTP 请求是加载网页最慢的部分之一。

据我猜测,JS的绝对数量可能是由于他们的许多页面之间共享了许多通用库和代码,并且试图不将其加载到他们的主页上最终会涉及许多不必要和令人讨厌的解决方法在他们的代码中。另外,用户界面可能看起来很简单,但实际上在引擎盖下发生了多少事情?有谷歌帐户要担心,即时和语音搜索要做,分析跟踪等。

然而,最终,除非你让谷歌工程师泄露他们的秘密,或者找到一份工作,否则你可能不会真正知道。

我认为这是接口和实现分离的原则:用户看到接口,不需要关心实现是什么 - 多么简单或多么复杂,以及以什么方式,只要实现完成了接口应该提供的工作。

以手表为例。 当您查看手表时,您根本不会考虑实现。 你所关心的只是你可以用小时和分针来判断时间,你可以切换到秒表模式,按钮A可以启动它,按钮B可以重置它——如果它可以提供秒表的功能。 界面可以非常简单,有时尽可能简单。 实现,可能很复杂...例如,如果它有电路与世界各个地区的原子手表信号同步,通过使用数百万个晶体管来完成工作 - 但用户通常不会关心实现是什么。 所有用户可能关心的是一个简单易懂的手表界面:看手表的表盘,眨眼间,就能分辨出现在几点。

至于为什么代码可以这么大,除了自动建议机制,其中包括一个限制机制,这样不是每次击键都会导致对谷歌服务器的请求,还有Google+共享,它有照片,链接,视频,事件,每个都有不同的处理方式。 因此,尽管页面可以干净简单,但页面可以提供的功能远不止于此。