जब मैंने पहली बार PHP सीखना शुरू किया (लगभग 5 या 6 साल पहले) मुझे अजाक्स के बारे में पता चला, और मैं "चरणों" के माध्यम से चला गया:
- आपके सर्वर एचटीएमएल डेटा वापस आती है और आप इसे एक के अंदर डाल डोम के innerHTML
- आप XML के रूप में डेटा ट्रांसफर स्वरूपों के बारे में सीखते हैं (और कहते हैं कि "ओह, इसलिए इसका उपयोग किया जाता है) और फिर JSON।
- आप JSON लौटाते हैं और वेनिला जावास्क्रिप्ट कोड का उपयोग करके अपने UI का निर्माण करते हैं
- आप jQuery पर जाते हैं
- आप API, हेडर, HTTP स्थिति कोड, REST , CORS और बूटस्ट्रैप के बारे में सीखते हैं
- आप एसपीए , और फ्रंटेंड फ्रेमवर्क ( प्रतिक्रिया , Vue.js , और AngularJS ) और JSON API मानक सीखते हैं ।
- आपको कुछ उद्यम विरासत कोड प्राप्त होते हैं और इसका निरीक्षण करने पर, पाते हैं कि वे ऐसा करते हैं जो चरण 1 में वर्णित है।
जैसा कि मैंने इस विरासत कोडबेस के साथ काम किया, मैंने यह भी विचार नहीं किया कि यह HTML को वापस कर सकता है (मेरा मतलब है, हम अभी पेशेवर हैं, ठीक है?), इसलिए मुझे उस JSON समापन बिंदु की तलाश में एक कठिन समय था जो डेटा वापस कर रहा था कि अजाक्स कॉल आबाद। यह तब तक नहीं था जब तक कि मैंने "प्रोग्रामर" से नहीं पूछा कि उसने मुझे बताया था कि यह HTML लौटा रहा है और इनर HTML के साथ सीधे DOM में जोड़ा जा रहा है।
बेशक, यह स्वीकार करना कठिन था। मैंने इसे JSON एंडपॉइंट में रिफैक्ट करने के तरीकों के बारे में सोचना शुरू कर दिया, यूनिट के समापन और इतने पर परीक्षण के बारे में सोच रहा था। हालाँकि, इस कोडबेस का कोई परीक्षण नहीं है। एक भी नहीं। और यह 200k लाइनों से अधिक है। बेशक मेरे कार्यों में से एक में संपूर्ण चीज़ों के परीक्षण के लिए दृष्टिकोणों का प्रस्ताव शामिल है, लेकिन फिलहाल हम इससे निपट नहीं रहे हैं।
इसलिए मैं कहीं नहीं हूं, एक कोने में, सोच रहा हूं: अगर हमारे पास कोई परीक्षण नहीं है, तो हमारे पास इस JSON समापन बिंदु को बनाने के लिए कोई विशेष कारण नहीं है (क्योंकि यह "पुन: प्रयोज्य" नहीं है: यह शाब्दिक रूप से उस डेटा को लौटाता है जो केवल उस हिस्से पर फिट बैठता है आवेदन, लेकिन मुझे लगता है कि यह पहले से ही निहित था ... यह HTML डेटा देता है)।
क्या वास्तव में ऐसा करने के साथ गलत क्या है?