PHP, HTML, जावास्क्रिप्ट और अच्छे अभ्यास लिखना


10

मुझे एहसास हुआ कि मुझे मेरे और मेरी टीम के लिए HTML, जावास्क्रिप्ट और PHP कोडिंग के बारे में एक कन्वेंशन विनिर्देश लिखना है।

वेब विकास में, सी ++ की तरह, मैं निश्चित रूप से इंडेंटेशन और टिप्पणियों का प्रशंसक हूं।

बहरहाल, अक्सर मेरे काम में एचटीएमएल + जावास्क्रिप्ट + पीएचपी कोड का सामना होता है जो अचानक सिरदर्द लाता है।

मैं अपने कोड को पठनीय बनाने की कोशिश कर रहा हूं, लेकिन जो मुझे (इंडेंट एंड कमेंट के लिए) बेहतर लगता है वह मेरे साथियों को मोहित नहीं करता है, इसलिए मैं सोच रहा था कि "हाइब्रिड" लिखते समय सबसे अच्छा या कम से कम साझा अच्छा अभ्यास हो "दस्तावेज़ आज के वेब पृष्ठों की तरह हैं, जो दिन-प्रतिदिन और अधिक जटिल होते जाते हैं।

मैं इस तथ्य से अवगत हूं कि शायद आज के वेब पेज के कोड की प्रकृति थोड़ी जटिल है, लेकिन मुझे आश्चर्य है कि अगर इन पहलुओं के बारे में एक अच्छा सम्मेलन पहले से ही मौजूद है।

जवाबों:


19

कुछ सामान्य नियम जिनका मैं पालन करता हूं:

सामान्य

  • संकेतक 4 रिक्त स्थान हैं।
  • नए स्तरों का संकेत दिया
  • टिप्पणियाँ इंडेंट स्तर से <~ 80 वर्ण हैं। यदि मैं दो स्तरों (8 रिक्त स्थान) में हूं, जिसका अर्थ है कि कर्सर रुकना लगभग 88 वर्णों का होगा।
  • मल्टी-लाइन टिप्पणियों का उपयोग करें। मैं लुक पसंद करता हूं, हालांकि यह एक व्यक्तिपरक बिंदु है।
  • अभी टिप्पणी करें, लेकिन बाद में जब आपको पता नहीं है कि क्या चल रहा है।
  • ऑलमैन शैली ब्रेसिज़ । यह क्लीनर है और अधिक पठनीय है। अधीन

जावास्क्रिप्ट

  • एक पुस्तकालय का उपयोग करें। विशेष रूप से jQuery बहुत अच्छा है। यह सभी क्रॉस ब्राउज़र सिरदर्द को समाप्त करता है।
  • समझें कि आईडी विशेष तत्वों के लिए हैं, कक्षाएं शैलियों के लिए हैं। आईडी का उपयोग प्रति पृष्ठ एक बार अधिक नहीं किया जाना चाहिए और उनके पास विशेष रूप से हुक होंगे। नेविगेशन जैसी चीजों के लिए कक्षाओं का उपयोग करें।
  • तरीकों में स्रोत। यह bindकॉल में सभी कोड डालने के लिए लुभा रहा है, हालांकि इसे स्वयं के फ़ंक्शन में डालने से आपके कोड का लचीलापन बढ़ जाएगा।
  • Evals के बजाय फ़ंक्शन का उपयोग करें। setTimeout(function(){ /* Do something */ }, 1000);इसके बजाय इसका मतलब हैsetTimeout('doSomething', 1000);
  • के साथ स्थानीय चर का उपयोग करें var

एचटीएमएल

  • शब्दार्थ मार्कअप। उपयुक्त टैग का उपयोग करें। <br />अंतरिक्ष को जोड़ने के लिए, मार्जिन और सीएसएस नियमों को समायोजित करने के लिए वहाँ मत डालो ।
  • सभी टैग लोअरकेस हैं
  • सभी टैग एक समापन टैग के साथ समाप्त होने चाहिए या स्वयं समापन होना चाहिए
  • लेआउट के लिए कक्षाओं का उपयोग करें जो समान है। पूर्वनिर्धारित वर्गों की तरह की एक जोड़ी है hide, clear, error, आदि
  • सब कुछ (स्क्रिप्ट शामिल) में जाना चाहिए <head>। जब यह किसी समस्या को प्रस्तुत करता है तो इसके अनुकूलन (चारों ओर सामान ले जाना) के बारे में चिंता करना।
  • जब तक यह पृष्ठ विशिष्ट नहीं होता तब तक बाहरी स्टाइलशीट और जावास्क्रिप्ट स्रोत होना चाहिए

पीएचपी

  • फ्रेमवर्क अच्छे हैं, मैं CodeIgniter की सलाह देता हूं।
  • यदि आप एक फ्रेमवर्क का उपयोग नहीं करना चाहते हैं, तो PHP के नवीनतम संस्करण का उपयोग करने का प्रयास करें। (इसका अर्थ 5.3) है।
  • includesअपने लाभ के लिए उपयोग करें ।
  • स्पष्ट इंजेक्शन या तैयार बयान का उपयोग करें।
  • यदि पूर्व-विफल विफल-सुरक्षित मान पर जाँच करें।

    $logged_in = false;
    if(check_user($user))
    {
         $logged_in = true;
         $user = load_user($_SESSION);
    }
  • जानिए सिंगल और डबल कोट्स के बीच का अंतर। जब संभव हो तो सिंगल कोट्स का इस्तेमाल करें।
  • HTML को प्रतिध्वनित न करें।

4
उत्कृष्ट सूची। PHP के लिए मैं 1 जोड़ देगा) का उपयोग करें टेम्पलेट्स, न ही मिक्स php & html (अनुप्रयोगों में, कम से कम) 2) न ही उपयोग में शामिल हैं () फ़ंक्शन कॉल 3 के रूप में) जितना संभव हो उतना वैश्विक दायरे से बाहर कोड रखें।
ग्रैंडमास्टरबी

जो कोई भी CodeIgniter और jQuery की सिफारिश करता है वह मेरी नजर में किसी भी अखंडता को खो देता है।
मेफिस्टो

4
@teresko: आप कोई कारण या विकल्प दिए बिना निंदा करते हैं।
जोश के

+1। यकीनन और बहस करने योग्य बिंदुओं की एक सूची, लेकिन फिर भी एक बहुत अच्छी सूची।
जाइल

jQuery सभी क्रॉस-ब्राउज़र सिरदर्द समाप्त करता है?
जेम्स एडम

3

प्रेरणा के लिए कुछ पढ़ने हैं:

  • Zend फ्रेमवर्क - php कोडिंग स्टाइल : मेनटेबल php कोड (PHP फाइल फॉर्मेटिंग, नेमिंग कन्वेंशन, कोडिंग स्टाइल: Arrays, String, Class, Method उदा।) लिखने के तरीकों की सूची।
  • Google - कोड शैली मार्गदर्शिका : मुख्यपट्टी जावास्क्रिप्ट कोड लिखने के तरीकों की सूची (नियम: स्थिरांक, अर्धविराम, नेस्टेड फ़ंक्शन ..., कोडिंग शैली: नामकरण, स्कोप, स्ट्रिंग, दृश्यता फ़ील्ड आदि)।

क्या आप इन संसाधनों पर क्या करते हैं और इस बारे में अधिक जानकारी देने के लिए क्या कहेंगे? स्टैक एक्सचेंज में "लिंक-ओनली उत्तर" का बहुत स्वागत नहीं है
gnat

1
@gnat edit / सही उत्तर
tomascejka

2

3 अलग रखें। कम से कम बनाए रखने योग्य कोड मैं हमेशा के साथ सौदा करता हूं जब कुछ PHP होता है जो बहुत सारे HTML और जावास्क्रिप्ट को गूंज रहा होता है, शायद कुछ एसक्यूएल को अच्छे उपाय के लिए चारों ओर फेंक दिया जाता है।

उन सभी को अलग-अलग रखने से कोड को बनाए रखना बहुत आसान हो जाएगा, और साथ ही चीजों को बहुत अधिक सुव्यवस्थित बनाता है यदि आपके पास आवेदन के विभिन्न हिस्सों पर काम करने वाले लोग हैं, जैसे कि डिजाइनर जिन्हें केवल HTML / CSS के साथ काम करने की आवश्यकता है।


2

Php web app को कोड करने का सबसे आसान तरीका निश्चित रूप से सब कुछ एक साथ मैश करना है। यदि आप इस तरह से काम करते हैं, तो आप जल्दी से एक अप्रत्याशित गंदगी से हवा लेते हैं।

यहाँ कुछ अच्छी प्रथाएँ हैं:

1) एक दस्तावेज़ के <head> में अपना जावास्क्रिप्ट रखें (या, अभी तक बेहतर, अलग-अलग फ़ाइलों में जो सिर में संदर्भित हैं)। अपने एचटीएमएल के माध्यम से उन्हें बिखेरने के बजाए, एक दस्तावेज.ऑन लोड घटना में श्रोताओं को बांधने का तरीका जानें। (बेहतर अभी तक, Jquery की तरह एक फ्रेमवर्क का उपयोग करना सीखें; यह आपके जावास्क्रिप्ट को बहुत अधिक, बहुत सुंदर बना देगा)।

2) एमवीसी जैसे डिजाइन पैटर्न देखें। आप अपने HTML से जितना संभव हो, PHP में लिखे गए अपने व्यावसायिक तर्क को अलग करना चाहते हैं। आदर्श रूप से, आप अपने HTML पृष्ठों को एक साथ रखने के लिए एक अच्छी टेम्प्लेटिंग भाषा का उपयोग करते हैं; बहुत कम से कम, आपके HTML में PHP प्रमुख होना चाहिए - मुख्य रूप से चर को कॉल करना और उन सूचियों के माध्यम से लूप करना जो अन्यत्र निर्मित हैं।

3) टिप्पणियाँ, इंडेंटिंग ... यह सामान सिर्फ बुनियादी प्रोग्रामिंग सर्वोत्तम प्रथाओं है। जब मैं HTML लिख रहा होता हूं, तो मैं अपनी पंक्ति की लंबाई 80 वर्णों से ऊपर जाने देता हूं, सिर्फ इसलिए कि भाषा इतनी लानत है, लेकिन यह एकमात्र पारंपरिक अभ्यास के बारे में है जिसे आपको स्लाइड करने देना चाहिए - यदि टीम का बाकी हिस्सा मैला हो रहा है, उन्हें इसे चूसने और आकार देने की आवश्यकता है।


अच्छी टिप्पणी! एक टाइपो है: "अपने जावास्क्रिप्ट को एक दस्तावेज़ में रखें"
डीएल

ओह। धन्यवाद। (कोण कोष्ठक द्वारा सांकेतिक शब्दों में बदलना भूल गया। मुझे मूर्ख।)
पैच

1
प्रदर्शन कारणों से जावास्क्रिप्ट को आपके पृष्ठ के अंत में जाना चाहिए।
तोबी

0

यहाँ tidbits के एक जोड़े है:

जावास्क्रिप्ट: varचर का इनिशियल करते समय उपयोग करें ।

HTML: स्क्रिप्ट को फ़ाइल के निचले भाग में शामिल करें ताकि वे अंतिम लोड हों।

PHP: फ़ाइलों को विभाजित करें। अपनी सभी कक्षाओं को एक फ़ाइल में न रखें, जैसा कि आप सामान्य C ++ विकास में नहीं करेंगे। अधिक से अधिक टिप्पणी करें और अपने कार्यों / कक्षाओं के उद्देश्य को भी लिखें।


मैं Google जावास्क्रिप्ट शैली गाइड का अनुसरण करने की कोशिश कर रहा हूं: google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml
Fosco
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.