2014-04-05 4 views
11

कोड को छोटा किया गया है, लेकिन सुधारित कोड की कुछ सौ पंक्तियां हैं। मैं कम से कम कोड रखने के लिए इस तरह के एक न्यूनतम पृष्ठ की कल्पना करेंगे। यह क्या है कि Google ऐसा कर रहा है कि स्रोत यह लंबा है? मैं देख सकता हूं कि इसमें से बहुत कुछ जावास्क्रिप्ट है, लेकिन मैं इस धारणा के तहत था कि इतनी जावास्क्रिप्ट को रेखांकित करना बुरा अभ्यास था।यदि Google का मुखपृष्ठ इतना न्यूनतम है, तो स्रोत कोड की सैकड़ों स्रोत क्यों है?

+1

मुझे लगता है कि यह एक अच्छा सवाल है। और बंद नहीं किया जाना चाहिए। –

उत्तर

8

तत्काल खोज के लिए ajax कॉलबैक के लिए उस कोड का कम से कम एक हिस्सा उपयोग किया जाता है।

साथ ही, जब आप मानते हैं कि जावास्क्रिप्ट को रेखांकित करना बुरा है, तो आपको विकल्प के बारे में सोचना चाहिए। यदि कोड एक अलग फ़ाइल में था, तो यह एक और http अनुरोध होगा, जिसका अर्थ है कि पृष्ठ उच्च विलंबता के साथ लोड होगा।

1

मुझे लगता है कि यह इंटरफ़ेस और कार्यान्वयन को अलग करने का एक सिद्धांत है: उपयोगकर्ता इंटरफ़ेस को देखता है और कार्यान्वयन के बारे में परवाह करने की आवश्यकता नहीं है - कितना सरल या जटिल, और किस तरह से, जब तक कार्यान्वयन इंटरफ़ेस प्रदान करने के लिए किया जाता है का काम करता है।

घड़ी का उदाहरण लें। जब आप अपनी घड़ी को देखते हैं, तो आप कार्यान्वयन के बारे में नहीं सोचते हैं। आप सभी को ध्यान रखना है कि आप समय और मिनट के हाथ से समय बता सकते हैं, और आप एक स्टॉप घड़ी मोड में बदल सकते हैं और बटन ए इसे शुरू कर सकता है और बटन बी इसे रीसेट कर सकता है - अगर यह स्टॉप की कार्यक्षमता प्रदान कर सकता है घड़ी। इंटरफ़ेस बहुत सरल हो सकता है, और कभी-कभी जितना संभव हो सके उतना आसान हो सकता है। कार्यान्वयन जटिल हो सकता है ... जैसे कि दुनिया भर के विभिन्न क्षेत्रों में परमाणु घड़ी संकेत के साथ सिंक्रनाइज़ करने के लिए सर्किटरी है, नौकरी करने के लिए लाखों ट्रांजिस्टर का उपयोग करके - लेकिन उपयोगकर्ता आमतौर पर परवाह नहीं करेगा कार्यान्वयन है। सभी उपयोगकर्ता देखभाल कर सकते हैं घड़ी के इंटरफ़ेस को समझना एक आसान है: घड़ी के चेहरे को देखने और आंखों के झपकी के भीतर, यह बताने में सक्षम हो कि यह कितना समय है।

ऑटो-सुझाव तंत्र के अलावा कोड इतना बड़ा क्यों हो सकता है, जिसमें थ्रॉटलिंग तंत्र शामिल है ताकि प्रत्येक कीस्ट्रोक Google के सर्वर से अनुरोध न करे, Google+ शेयर भी है जिसमें फोटो, लिंक है , वीडियो, घटना, प्रत्येक अलग हैंडलिंग के साथ। तो हालांकि पृष्ठ साफ और सरल हो सकता है, पृष्ठ जो प्रदान कर सकता है वह बहुत अधिक है।

2

जावास्क्रिप्ट शायद उनके असंबद्ध स्रोत में रेखांकित नहीं है। कि संभावित बुरी प्रथा होगी। इसे बनाए जाने पर पेज स्रोत में इनलाइन करके, पृष्ठ को एक अलग संसाधन फ़ाइल डाउनलोड करने के लिए कोई अतिरिक्त HTTP अनुरोध नहीं करना पड़ेगा, क्योंकि HTTP अनुरोध वेब पेज लोड करने के सबसे धीमे हिस्सों में से एक हैं।

मेरे अनुमान के अनुसार, जेएस की बहुत अधिक मात्रा, संभवतः कई सामान्य पुस्तकालयों और कोड के कारण उनके कई पृष्ठों में साझा की गई है, और अपने होमपेज पर लोड नहीं होने की कोशिश करने से बहुत अनावश्यक शामिल हो जाएगा और उनके कोड में बुरा कामकाज। इसके अलावा, यूआई सरल दिख सकता है, लेकिन वास्तव में हुड के नीचे कितना हो रहा है? Google खाते हैं, तत्काल और वॉयस सर्चिंग, एनालिटिक्स ट्रैकिंग इत्यादि।

अंत में, शायद आप वास्तव में तब तक नहीं जान पाएंगे जब तक कि आप Google इंजीनियर को अपने रहस्यों को प्रकट करने के लिए नहीं मिलता, या प्राप्त नहीं करते उनके साथ एक नौकरी।

संबंधित मुद्दे