代码缩小了,但重新格式化了几百行代码。我想这样一个最小的页面也有最少的代码。谷歌这样做的原因是什么?我可以看到很多是javascript,但我的印象是内联如此多的javascript是不好的做法。
代码缩小了,但重新格式化了几百行代码。我想这样一个最小的页面也有最少的代码。谷歌这样做的原因是什么?我可以看到很多是javascript,但我的印象是内联如此多的javascript是不好的做法。
该代码中至少有一个用于 ajax
即时搜索的回调。
此外,当您考虑内联Javascript是否不好时,您应该考虑替代方案。如果代码在一个单独的文件中,那将是另一个 http
请求,这意味着页面将加载更高的延迟。
可能没有在未构建的源代码中内联JavaScript。 那 将是潜在的不良做法。通过在构建时将其内联到页面源中,页面将不必进行任何额外的HTTP请求来下载单独的资源文件,因为HTTP请求是加载网页的最慢部分之一。
根据我的猜测,JS的绝对数量可能是由于很多公共库和代码在他们的许多页面之间共享,并且试图让它不加载到他们的主页上最终会涉及许多不必要的和令人讨厌的变通方法。他们的代码。用户界面可能看起来很简单,但实际上在幕后发生了多少?有谷歌帐户需要担心,即时和语音搜索,分析跟踪等。
但是,最后,除非你让Google工程师透露他们的秘密,或者找到他们的工作,否则你可能不会真正知道。
我认为这是接口和实现分离的原则:用户看到接口而不需要关心实现是什么 - 多么简单或多么复杂,以及以何种方式,只要实现执行接口应该提供什么的工作。
以手表为例。当你看你的手表时,你根本不考虑实施。所有你关心的是你可以通过时针和分针告诉时间,并且你可以改变到秒表模式,按钮A可以启动它,按钮B可以重置它 - 如果它可以提供停止的功能看。界面可以非常简单,有时尽可能简单。实施,可能很复杂......例如,如果它具有与世界各地的原子观测信号同步的电路,通过使用数百万个晶体管来完成工作 - 但用户通常不会关心什么实施是。所有用户可能都关心的是一个简单易懂的手表界面:看一下手表的脸部,在眨眼之间,能够分辨它的时间。
至于为什么代码可能如此之大,除了自动建议机制,其中包括限制机制,以便不是每次击键都会导致对Google服务器的请求,还有Google+分享,其中包含照片,链接,视频,事件,每个都有不同的处理。因此,尽管页面可以简洁,但页面可以提供的内容更多。