You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/mr/7-bank-project/3-data/assignment.md

15 KiB

कोड पुनर्रचना आणि दस्तऐवजीकरण असाइनमेंट

शिकण्याचे उद्दिष्ट

ही असाइनमेंट पूर्ण करून, तुम्ही व्यावसायिक विकसक दररोज वापरत असलेल्या महत्त्वाच्या सॉफ्टवेअर विकास कौशल्यांचा सराव कराल. तुम्ही कोड व्यवस्थित ठेवणे, पुनरावृत्ती कमी करणे आणि भविष्यातील विकसकांसाठी (तुमच्यासह!) तुमचे काम दस्तऐवजीकरण करणे शिकाल.

स्वच्छ, चांगल्या प्रकारे दस्तऐवजीकरण केलेला कोड वास्तविक जगातील वेब विकास प्रकल्पांसाठी अत्यंत महत्त्वाचा आहे जिथे अनेक विकसक सहकार्य करतात आणि कोडबेस वेळोवेळी विकसित होतो.

असाइनमेंटचा आढावा

तुमच्या बँकिंग अॅपचा app.js फाइल लॉगिन, नोंदणी आणि डॅशबोर्ड कार्यक्षमतेसह मोठ्या प्रमाणात वाढला आहे. वाचनीयता, देखभालक्षमता सुधारण्यासाठी आणि पुनरावृत्ती कमी करण्यासाठी व्यावसायिक विकास पद्धतींचा वापर करून या कोडचे पुनर्रचना करण्याची वेळ आली आहे.

सूचना

तुमच्या सध्याच्या app.js कोडला खालील तीन मुख्य पुनर्रचना तंत्रांचा वापर करून सुधारित करा:

1. कॉन्फिगरेशन स्थिरांक वेगळे करा

कार्य: पुनर्वापरयोग्य स्थिरांकांसह तुमच्या फाइलच्या शीर्षस्थानी एक कॉन्फिगरेशन विभाग तयार करा.

अंमलबजावणी मार्गदर्शन:

  • सर्व्हर API बेस URL (सध्या अनेक ठिकाणी हार्डकोड केलेला) वेगळा करा
  • अनेक फंक्शन्समध्ये दिसणाऱ्या त्रुटी संदेशांसाठी स्थिरांक तयार करा
  • वारंवार वापरल्या जाणाऱ्या रूट पथ आणि घटक IDs वेगळे करण्याचा विचार करा

उदाहरण रचना:

// Configuration constants
const API_BASE_URL = 'http://localhost:5000/api';
const ROUTES = {
  LOGIN: '/login',
  DASHBOARD: '/dashboard'
};

2. एक統ित विनंती फंक्शन तयार करा

कार्य: createAccount() आणि getAccount() दरम्यान डुप्लिकेट कोड काढून टाकण्यासाठी पुनर्वापरयोग्य sendRequest() फंक्शन तयार करा.

आवश्यकता:

  • GET आणि POST विनंत्यांचे व्यवस्थापन करा
  • योग्य त्रुटी हाताळणी समाविष्ट करा
  • वेगवेगळ्या URL एंडपॉइंट्सला समर्थन द्या
  • पर्यायी विनंती बॉडी डेटा स्वीकारा

फंक्शन सिग्नेचर मार्गदर्शन:

async function sendRequest(endpoint, method = 'GET', data = null) {
  // Your implementation here
}

3. व्यावसायिक कोड दस्तऐवजीकरण जोडा

कार्य: तुमच्या कोडचे स्पष्ट, उपयुक्त टिप्पण्या असलेल्या दस्तऐवजीकरणासह दस्तऐवजीकरण करा जे तुमच्या तर्कशास्त्रामागील "का" स्पष्ट करतात.

दस्तऐवजीकरण मानके:

  • फंक्शन दस्तऐवजीकरण जोडा जे उद्देश, पॅरामीटर्स आणि परत मूल्ये स्पष्ट करते
  • जटिल तर्कशास्त्र किंवा व्यवसाय नियमांसाठी इनलाइन टिप्पण्या समाविष्ट करा
  • संबंधित फंक्शन्स विभाग शीर्षलेखांसह गटबद्ध करा
  • कोणतेही अस्पष्ट कोड नमुने किंवा ब्राउझर-विशिष्ट वर्कअराउंड स्पष्ट करा

उदाहरण दस्तऐवजीकरण शैली:

/**
 * Authenticates user and redirects to dashboard
 * @param {Event} event - Form submission event
 * @returns {Promise<void>} - Resolves when login process completes
 */
async function login(event) {
  // Prevent default form submission to handle with JavaScript
  event.preventDefault();
  
  // Your implementation...
}

यशाचे निकष

तुमच्या पुनर्रचित कोडने या व्यावसायिक विकास पद्धतींचे प्रदर्शन करावे:

उत्कृष्ट अंमलबजावणी

  • स्थिरांक: सर्व मॅजिक स्ट्रिंग्स आणि URLs स्पष्टपणे नाव दिलेल्या स्थिरांकांमध्ये वेगळे केले आहेत
  • DRY तत्त्व: सामान्य विनंती तर्कशास्त्र पुनर्वापरयोग्य sendRequest() फंक्शनमध्ये एकत्रित केले आहे
  • दस्तऐवजीकरण: फंक्शन्समध्ये उद्देश आणि पॅरामीटर्स स्पष्ट करणारे स्पष्ट JSDoc टिप्पण्या आहेत
  • संघटन: कोड विभाग शीर्षलेखांसह आणि सुसंगत स्वरूपनासह तार्किकरित्या गटबद्ध केलेला आहे
  • त्रुटी हाताळणी: नवीन विनंती फंक्शन वापरून सुधारित त्रुटी हाताळणी

पुरेशी अंमलबजावणी

  • स्थिरांक: बहुतेक पुनरावृत्ती मूल्ये वेगळे केली आहेत, काही हार्डकोड केलेली मूल्ये शिल्लक आहेत
  • घटकन: मूलभूत sendRequest() फंक्शन तयार केले आहे परंतु सर्व एज केस हाताळत नाही
  • टिप्पण्या: मुख्य फंक्शन्स दस्तऐवजीकृत आहेत, जरी काही स्पष्टीकरण अधिक पूर्ण असू शकते
  • वाचनीयता: कोड सामान्यतः चांगल्या प्रकारे आयोजित केलेला आहे, काही सुधारणा क्षेत्रांसह

सुधारणा आवश्यक

  • स्थिरांक: अनेक मॅजिक स्ट्रिंग्स आणि URLs संपूर्ण फाइलमध्ये हार्डकोड केलेले आहेत
  • पुनरावृत्ती: समान फंक्शन्स दरम्यान लक्षणीय कोड पुनरावृत्ती शिल्लक आहे
  • दस्तऐवजीकरण: कोडचा उद्देश स्पष्ट करणाऱ्या टिप्पण्या गहाळ किंवा अपुर्या आहेत
  • संघटन: कोडमध्ये स्पष्ट रचना आणि तार्किक गटबद्धता नाही

तुमच्या पुनर्रचित कोडची चाचणी करणे

पुनर्रचना केल्यानंतर, तुमचे बँकिंग अॅप अद्याप योग्य प्रकारे कार्य करत असल्याची खात्री करा:

  1. सर्व वापरकर्ता प्रवाहांची चाचणी करा: नोंदणी, लॉगिन, डॅशबोर्ड प्रदर्शन आणि त्रुटी हाताळणी
  2. API कॉल्स सत्यापित करा: तुमचे sendRequest() फंक्शन खाते तयार करणे आणि पुनर्प्राप्ती दोन्हीसाठी कार्य करते याची खात्री करा
  3. त्रुटी परिस्थिती तपासा: अवैध क्रेडेन्शियल्स आणि नेटवर्क त्रुटींसह चाचणी करा
  4. कन्सोल आउटपुट पुनरावलोकन करा: पुनर्रचना दरम्यान कोणत्याही नवीन त्रुटी सादर झाल्या नाहीत याची खात्री करा

सबमिशन मार्गदर्शक तत्त्वे

तुमचे पुनर्रचित app.js फाइल सबमिट करा:

  • वेगवेगळ्या कार्यक्षमतेचे आयोजन करणारे स्पष्ट विभाग शीर्षलेख
  • सुसंगत कोड स्वरूपन आणि इंडेंटेशन
  • सर्व फंक्शन्ससाठी पूर्ण JSDoc दस्तऐवजीकरण
  • शीर्षस्थानी तुमच्या पुनर्रचना दृष्टिकोनाचे संक्षिप्त टिप्पणी

अतिरिक्त आव्हान: एक साधी कोड दस्तऐवजीकरण फाइल (CODE_STRUCTURE.md) तयार करा जी तुमच्या अॅपची आर्किटेक्चर आणि वेगवेगळ्या फंक्शन्स एकत्र कसे कार्य करतात हे स्पष्ट करते.

वास्तविक जगाशी संबंध

ही असाइनमेंट व्यावसायिक विकसक नियमितपणे करत असलेल्या कोड देखभाल प्रकाराशी जुळते. उद्योग सेटिंग्जमध्ये:

  • कोड पुनरावलोकने वाचनीयता आणि देखभालक्षमता यांचे मूल्यांकन करतात जसे की ही असाइनमेंट
  • तांत्रिक कर्ज जमा होते जेव्हा कोड नियमितपणे पुनर्रचित आणि दस्तऐवजीकृत केले जात नाही
  • संघ सहकार्य स्पष्ट, चांगल्या प्रकारे दस्तऐवजीकरण केलेल्या कोडवर अवलंबून असते जे नवीन टीम सदस्य समजू शकतात
  • बग फिक्सेस चांगल्या प्रकारे आयोजित कोडबेसमध्ये योग्य अब्स्ट्रॅक्शनसह खूप सोपे असतात

तुम्ही येथे सराव करत असलेल्या कौशल्ये - स्थिरांक वेगळे करणे, पुनरावृत्ती काढून टाकणे आणि स्पष्ट दस्तऐवजीकरण लिहिणे - व्यावसायिक सॉफ्टवेअर विकासासाठी मूलभूत आहेत.


अस्वीकरण:
हा दस्तऐवज AI भाषांतर सेवा Co-op Translator वापरून भाषांतरित करण्यात आला आहे. आम्ही अचूकतेसाठी प्रयत्नशील असलो तरी, कृपयास लक्षात ठेवा की स्वयंचलित भाषांतरे त्रुटी किंवा अचूकतेच्या अभावाने युक्त असू शकतात. मूळ भाषेतील दस्तऐवज हा अधिकृत स्रोत मानला जावा. महत्त्वाच्या माहितीसाठी, व्यावसायिक मानवी भाषांतराची शिफारस केली जाते. या भाषांतराचा वापर करून उद्भवलेल्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थासाठी आम्ही जबाबदार राहणार नाही.