如果谷歌的主页这么小,为什么源码是几百行代码
If Google's homepage is so minimal, why is the source hundreds of lines of code?
代码被缩小,但重新格式化的是几百行代码。我想这样一个最小的页面也有最少的代码。谷歌在做什么,来源这么长?我可以看到很多都是javascript,但我的印象是内联这么多javascript是一种不好的做法。
该代码中至少有一个区块用于即时搜索的ajax
回调。
此外,当你考虑内联Javascript是否不好时,你应该考虑替代方案。如果代码位于单独的文件中,则它将是另一个http
请求,这意味着页面将以更高的延迟加载。
JavaScript 可能没有内联在其未构建的源代码中。这将是潜在的不良做法。通过在构建时将其内联到页面源代码中,页面无需发出任何其他 HTTP 请求即可下载单独的资源文件,因为 HTTP 请求是加载网页最慢的部分之一。
据我猜测,JS的绝对数量可能是由于他们的许多页面之间共享了许多通用库和代码,并且试图不将其加载到他们的主页上最终会涉及许多不必要和令人讨厌的解决方法在他们的代码中。另外,用户界面可能看起来很简单,但实际上在引擎盖下发生了多少事情?有谷歌帐户要担心,即时和语音搜索要做,分析跟踪等。
然而,最终,除非你让谷歌工程师泄露他们的秘密,或者找到一份工作,否则你可能不会真正知道。
我认为这是接口和实现分离的原则:用户看到接口,不需要关心实现是什么 - 多么简单或多么复杂,以及以什么方式,只要实现完成了接口应该提供的工作。
以手表为例。 当您查看手表时,您根本不会考虑实现。 你所关心的只是你可以用小时和分针来判断时间,你可以切换到秒表模式,按钮A可以启动它,按钮B可以重置它——如果它可以提供秒表的功能。 界面可以非常简单,有时尽可能简单。 实现,可能很复杂...例如,如果它有电路与世界各个地区的原子手表信号同步,通过使用数百万个晶体管来完成工作 - 但用户通常不会关心实现是什么。 所有用户可能关心的是一个简单易懂的手表界面:看手表的表盘,眨眼间,就能分辨出现在几点。
至于为什么代码可以这么大,除了自动建议机制,其中包括一个限制机制,这样不是每次击键都会导致对谷歌服务器的请求,还有Google+共享,它有照片,链接,视频,事件,每个都有不同的处理方式。 因此,尽管页面可以干净简单,但页面可以提供的功能远不止于此。
- 如何从rails中的代码中删除新行( )
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- 解析云代码作业:删除在数据库中已经存在一个小时的行
- Github Flavored Markdown-空行代码块获胜't渲染
- jQuery代码,用于在检查行时获取其他列的数据
- 如何获取dom元素的代码行号
- 行之间有空格会影响 JavaScript 代码的性能吗?
- 有谁知道这行代码的输出是什么?$.get(“http://192.168.4.1:80/”, {pin:p}.
- 使用 Javascript 动态删除行.我的代码有什么问题
- 这行代码中的每个函数在角度js中暗示或引用
- 选择“行在 Chrome 和 Firefox 中不起作用(生成的代码)”
- 如何允许引导框接受多行代码
- 用于在表中添加行的Javascript代码将单元格中的数据复制到新行中
- 如何将多行javascript代码写入带有节点的文件
- Javascript赢得'Don’不要跳过前两行代码
- 我可以'不要让这几行简单的代码正常工作,也不知道为什么
- REGEX-当内部内容有换行符时,HTML到短代码换行
- 我可以在这里使用for循环而不是写几百行代码吗?
- Javascript代码(换行,循环)
- 如果谷歌的主页这么小,为什么源码是几百行代码