# Data Science for Beginners కు సహకరించడం Data Science for Beginners పాఠ్యాంశానికి సహకరించడానికి మీ ఆసక్తికి ధన్యవాదాలు! మేము సమాజం నుండి సహకారాలను స్వాగతిస్తున్నాము. ## విషయ సూచిక - [ఆచరణ నియమాలు](../..) - [నేను ఎలా సహకరించగలను?](../..) - [ప్రారంభించడం](../..) - [సహకార మార్గదర్శకాలు](../..) - [పుల్ రిక్వెస్ట్ ప్రక్రియ](../..) - [శైలి మార్గదర్శకాలు](../..) - [సహకారదారుల లైసెన్స్ ఒప్పందం](../..) ## ఆచరణ నియమాలు ఈ ప్రాజెక్ట్ [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) ను అనుసరిస్తుంది. మరింత సమాచారం కోసం [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) చూడండి లేదా ఏవైనా అదనపు ప్రశ్నలు లేదా వ్యాఖ్యల కోసం [opencode@microsoft.com](mailto:opencode@microsoft.com) ను సంప్రదించండి. ## నేను ఎలా సహకరించగలను? ### బగ్స్ నివేదించడం బగ్ నివేదికలు సృష్టించే ముందు, డూప్లికేట్లను నివారించడానికి ఉన్న సమస్యలను తనిఖీ చేయండి. మీరు బగ్ నివేదికను సృష్టించినప్పుడు, సాధ్యమైనంత వివరాలను చేర్చండి: - **స్పష్టమైన మరియు వివరణాత్మక శీర్షికను ఉపయోగించండి** - **సమస్యను పునరుత్పత్తి చేయడానికి ఖచ్చితమైన దశలను వివరించండి** - **నిర్దిష్ట ఉదాహరణలు ఇవ్వండి** (కోడ్ స్నిపెట్లు, స్క్రీన్‌షాట్లు) - **మీరు గమనించిన ప్రవర్తన మరియు మీరు ఆశించినది వివరించండి** - **మీ వాతావరణ వివరాలను చేర్చండి** (OS, Python వెర్షన్, బ్రౌజర్) ### మెరుగుదలల సూచనలు మెరుగుదలల సూచనలు స్వాగతం! మెరుగుదలలను సూచించినప్పుడు: - **స్పష్టమైన మరియు వివరణాత్మక శీర్షికను ఉపయోగించండి** - **సూచించిన మెరుగుదల యొక్క వివరమైన వివరణ ఇవ్వండి** - **ఈ మెరుగుదల ఎందుకు ఉపయోగకరమని భావిస్తున్నారో వివరించండి** - **ఇతర ప్రాజెక్టులలో ఉన్న సమాన లక్షణాలను జాబితా చేయండి, అవసరమైతే** ### డాక్యుమెంటేషన్‌కు సహకరించడం డాక్యుమెంటేషన్ మెరుగుదలలు ఎప్పుడూ అభినందించబడతాయి: - **టైపోస్ మరియు వ్యాకరణ తప్పులను సరిచేయండి** - **వివరణల స్పష్టతను మెరుగుపరచండి** - **లేకపోయిన డాక్యుమెంటేషన్ జోడించండి** - **పాత సమాచారం నవీకరించండి** - **ఉదాహరణలు లేదా ఉపయోగ కేసులు జోడించండి** ### కోడ్‌కు సహకరించడం మేము క్రింది కోడ్ సహకారాలను స్వాగతిస్తున్నాము: - **కొత్త పాఠాలు లేదా వ్యాయామాలు** - **బగ్ సరిచేయడం** - **ఉన్న నోట్‌బుక్స్ మెరుగుదలలు** - **కొత్త డేటాసెట్‌లు లేదా ఉదాహరణలు** - **క్విజ్ అప్లికేషన్ మెరుగుదలలు** ## ప్రారంభించడం ### ముందస్తు అవసరాలు సహకరించే ముందు, మీరు కలిగి ఉండాలి: 1. GitHub ఖాతా 2. మీ సిస్టమ్‌లో Git ఇన్‌స్టాల్ చేయబడింది 3. Python 3.7+ మరియు Jupyter ఇన్‌స్టాల్ చేయబడింది 4. Node.js మరియు npm (క్విజ్ యాప్ సహకారాల కోసం) 5. పాఠ్యాంశ నిర్మాణం గురించి పరిచయం వివరమైన సెటప్ సూచనల కోసం [INSTALLATION.md](INSTALLATION.md) చూడండి. ### Fork మరియు Clone 1. GitHub లో **రిపోజిటరీని Fork చేయండి** 2. **మీ Fork ను లోకల్‌గా Clone చేయండి**: ```bash git clone https://github.com/YOUR-USERNAME/Data-Science-For-Beginners.git cd Data-Science-For-Beginners ``` 3. **అప్‌స్ట్రీమ్ రిమోట్ జోడించండి**: ```bash git remote add upstream https://github.com/microsoft/Data-Science-For-Beginners.git ``` ### బ్రాంచ్ సృష్టించండి మీ పని కోసం కొత్త బ్రాంచ్ సృష్టించండి: ```bash git checkout -b feature/your-feature-name # లేదా git checkout -b fix/your-bug-fix ``` బ్రాంచ్ నామకరణ నియమాలు: - `feature/` - కొత్త ఫీచర్లు లేదా పాఠాలు - `fix/` - బగ్ సరిచేయడం - `docs/` - డాక్యుమెంటేషన్ మార్పులు - `refactor/` - కోడ్ పునఃరూపకరణ ## సహకార మార్గదర్శకాలు ### పాఠం కంటెంట్ కోసం పాఠాలు అందించేటప్పుడు లేదా ఉన్న వాటిని మార్చేటప్పుడు: 1. **ఉన్న నిర్మాణాన్ని అనుసరించండి**: - README.md లో పాఠం కంటెంట్ - వ్యాయామాలతో Jupyter నోట్‌బుక్ - అసైన్‌మెంట్ (అవసరమైతే) - ప్రీ మరియు పోస్ట్ క్విజ్ లింకులు 2. **ఈ అంశాలను చేర్చండి**: - స్పష్టమైన అభ్యాస లక్ష్యాలు - దశలవారీ వివరణలు - వ్యాఖ్యలతో కూడిన కోడ్ ఉదాహరణలు - అభ్యాసం కోసం వ్యాయామాలు - అదనపు వనరుల లింకులు 3. **అందుబాటును నిర్ధారించండి**: - స్పష్టమైన, సులభమైన భాష ఉపయోగించండి - చిత్రాలకు alt టెక్స్ట్ ఇవ్వండి - కోడ్ వ్యాఖ్యలు చేర్చండి - వివిధ అభ్యాస శైలులను పరిగణనలోకి తీసుకోండి ### Jupyter నోట్‌బుక్స్ కోసం 1. **కమిట్ చేయడానికి ముందు అన్ని అవుట్‌పుట్‌లను క్లియర్ చేయండి**: ```bash jupyter nbconvert --clear-output --inplace notebook.ipynb ``` 2. **వివరణలతో కూడిన మార్క్డౌన్ సెల్స్ చేర్చండి** 3. **సమానమైన ఫార్మాటింగ్ ఉపయోగించండి**: ```python # టాప్‌లో లైబ్రరీలను దిగుమతి చేసుకోండి import pandas as pd import numpy as np import matplotlib.pyplot as plt # అర్థవంతమైన వేరియబుల్ పేర్లను ఉపయోగించండి # క్లిష్టమైన ఆపరేషన్ల కోసం వ్యాఖ్యలు జోడించండి # PEP 8 శైలి మార్గదర్శకాలను అనుసరించండి ``` 4. **సమర్పించే ముందు మీ నోట్‌బుక్‌ను పూర్తిగా పరీక్షించండి** ### Python కోడ్ కోసం [PEP 8](https://www.python.org/dev/peps/pep-0008/) శైలి మార్గదర్శకాలను అనుసరించండి: ```python # మంచి ఆచారాలు import pandas as pd def calculate_mean(data): """Calculate the mean of a dataset. Args: data (list): List of numerical values Returns: float: Mean of the dataset """ return sum(data) / len(data) ``` ### క్విజ్ యాప్ సహకారాల కోసం క్విజ్ అప్లికేషన్ మార్చేటప్పుడు: 1. **లోకల్‌గా పరీక్షించండి**: ```bash cd quiz-app npm install npm run serve ``` 2. **లింటర్ నడపండి**: ```bash npm run lint ``` 3. **విజయవంతంగా బిల్డ్ చేయండి**: ```bash npm run build ``` 4. **Vue.js శైలి గైడ్ మరియు ఉన్న నమూనాలను అనుసరించండి** ### అనువాదాల కోసం అనువాదాలు జోడించేటప్పుడు లేదా నవీకరించేటప్పుడు: 1. `translations/` ఫోల్డర్‌లో నిర్మాణాన్ని అనుసరించండి 2. భాషా కోడ్‌ను ఫోల్డర్ పేరుగా ఉపయోగించండి (ఉదా: ఫ్రెంచ్ కోసం `fr`) 3. ఆంగ్ల వెర్షన్‌తో సమానమైన ఫైల్ నిర్మాణాన్ని ఉంచండి 4. క్విజ్ లింకులను భాషా పారామీటర్‌తో నవీకరించండి: `?loc=fr` 5. అన్ని లింకులు మరియు ఫార్మాటింగ్‌ను పరీక్షించండి ## పుల్ రిక్వెస్ట్ ప్రక్రియ ### సమర్పించే ముందు 1. **మీ బ్రాంచ్‌ను తాజా మార్పులతో నవీకరించండి**: ```bash git fetch upstream git rebase upstream/main ``` 2. **మీ మార్పులను పరీక్షించండి**: - అన్ని మార్చిన నోట్‌బుక్స్ నడపండి - క్విజ్ యాప్ మార్చినట్లయితే పరీక్షించండి - అన్ని లింకులు పనిచేస్తున్నాయో నిర్ధారించండి - స్పెల్లింగ్ మరియు వ్యాకరణ తప్పుల కోసం తనిఖీ చేయండి 3. **మీ మార్పులను కమిట్ చేయండి**: ```bash git add . git commit -m "Brief description of changes" ``` స్పష్టమైన కమిట్ సందేశాలు రాయండి: - ప్రస్తుత కాలాన్ని ఉపయోగించండి ("Add feature" "Added feature" కాదు) - ఆజ్ఞాత్మక మూడ్ ఉపయోగించండి ("Move cursor to..." "Moves cursor to..." కాదు) - మొదటి లైన్‌ను 72 అక్షరాలకు పరిమితం చేయండి - సంబంధిత సమస్యలు మరియు పుల్ రిక్వెస్ట్‌లను సూచించండి 4. **మీ Fork కు పుష్ చేయండి**: ```bash git push origin feature/your-feature-name ``` ### పుల్ రిక్వెస్ట్ సృష్టించడం 1. [రిపోజిటరీ](https://github.com/microsoft/Data-Science-For-Beginners) కి వెళ్లండి 2. "Pull requests" → "New pull request" క్లిక్ చేయండి 3. "compare across forks" క్లిక్ చేయండి 4. మీ Fork మరియు బ్రాంచ్ ఎంచుకోండి 5. "Create pull request" క్లిక్ చేయండి ### PR శీర్షిక ఫార్మాట్ స్పష్టమైన, వివరణాత్మక శీర్షికలను ఈ ఫార్మాట్‌ను అనుసరించి ఉపయోగించండి: ``` [Component] Brief description ``` ఉదాహరణలు: - `[Lesson 7] Fix Python notebook import error` - `[Quiz App] Add German translation` - `[Docs] Update README with new prerequisites` - `[Fix] Correct data path in visualization lesson` ### PR వివరణ మీ PR వివరణలో చేర్చండి: - **ఏమి**: మీరు ఏ మార్పులు చేసారు? - **ఎందుకు**: ఈ మార్పులు ఎందుకు అవసరమయ్యాయి? - **ఎలా**: మీరు మార్పులను ఎలా అమలు చేసారు? - **పరీక్ష**: మీరు మార్పులను ఎలా పరీక్షించారో? - **స్క్రీన్‌షాట్లు**: దృశ్య మార్పుల కోసం స్క్రీన్‌షాట్లు చేర్చండి - **సంబంధిత సమస్యలు**: సంబంధిత సమస్యలకు లింకులు (ఉదా: "Fixes #123") ### సమీక్ష ప్రక్రియ 1. **ఆటోమేటెడ్ చెక్లు** మీ PR పై నడుస్తాయి 2. **నిర్వాహకులు మీ సహకారాన్ని సమీక్షిస్తారు** 3. **అభిప్రాయాలను పరిష్కరించండి** అదనపు కమిట్‌లతో 4. ఆమోదం పొందిన తర్వాత, **నిర్వాహకుడు మీ PR ను విలీనం చేస్తారు** ### మీ PR విలీనం అయిన తర్వాత 1. మీ బ్రాంచ్‌ను తొలగించండి: ```bash git branch -d feature/your-feature-name git push origin --delete feature/your-feature-name ``` 2. మీ Fork ను నవీకరించండి: ```bash git checkout main git pull upstream main git push origin main ``` ## శైలి మార్గదర్శకాలు ### మార్క్డౌన్ - స్థిరమైన శీర్షిక స్థాయిలను ఉపయోగించండి - విభాగాల మధ్య ఖాళీ లైన్లను ఉంచండి - భాషా స్పెసిఫైయర్లతో కోడ్ బ్లాక్స్ ఉపయోగించండి: ````markdown ```python import pandas as pd ``` ```` - చిత్రాలకు alt టెక్స్ట్ జోడించండి: `![Alt text](../../translated_images/te/image.4ee84a82b5e4c9e6651b13fd27dcf615e427ec584929f2cef7167aa99151a77a.png)` - లైన్ పొడవులు సుమారు 80-100 అక్షరాలుగా ఉంచండి ### Python - PEP 8 శైలి గైడ్ అనుసరించండి - అర్థవంతమైన వేరియబుల్ పేర్లను ఉపయోగించండి - ఫంక్షన్లకు డాక్స్ట్రింగ్స్ జోడించండి - అవసరమైన చోట టైప్ హింట్స్ చేర్చండి: ```python def process_data(df: pd.DataFrame) -> pd.DataFrame: """Process the input dataframe.""" return df ``` ### JavaScript/Vue.js - Vue.js 2 శైలి గైడ్ అనుసరించండి - అందించిన ESLint కాన్ఫిగరేషన్ ఉపయోగించండి - మాడ్యులర్, పునర్వినియోగపరచదగిన కాంపోనెంట్లను రాయండి - క్లిష్టమైన లాజిక్ కోసం వ్యాఖ్యలు జోడించండి ### ఫైల్ నిర్వహణ - సంబంధిత ఫైళ్లను కలిసి ఉంచండి - వివరణాత్మక ఫైల్ పేర్లను ఉపయోగించండి - ఉన్న డైరెక్టరీ నిర్మాణాన్ని అనుసరించండి - అవసరం లేని ఫైళ్లను కమిట్ చేయవద్దు (.DS_Store, .pyc, node_modules, మొదలైనవి) ## సహకారదారుల లైసెన్స్ ఒప్పందం ఈ ప్రాజెక్ట్ సహకారాలు మరియు సూచనలను స్వాగతిస్తుంది. చాలా సహకారాలకు మీరు సహకారదారుల లైసెన్స్ ఒప్పందం (CLA) కు అంగీకరించాలి, ఇది మీరు మీ సహకారాన్ని ఉపయోగించడానికి హక్కులు కలిగి ఉన్నారని మరియు వాటిని మాకు ఇచ్చారని ప్రకటిస్తుంది. వివరాలకు, https://cla.microsoft.com చూడండి. మీరు పుల్ రిక్వెస్ట్ సమర్పించినప్పుడు, CLA-బాట్ ఆటోమేటిగ్గా మీరు CLA అందించాల్సిన అవసరం ఉందో లేదో నిర్ణయించి PR ను తగిన విధంగా (లేబుల్, వ్యాఖ్య) అలంకరిస్తుంది. బాట్ ఇచ్చిన సూచనలను అనుసరించండి. మా CLA ఉపయోగించే అన్ని రిపోజిటరీలలో మీరు ఈ ప్రక్రియను ఒక్కసారి మాత్రమే చేయాలి. ## ప్రశ్నలు? - మా [Discord ఛానల్ #data-science-for-beginners](https://aka.ms/ds4beginners/discord) ను తనిఖీ చేయండి - మా [Discord సమాజంలో చేరండి](https://aka.ms/ds4beginners/discord) - ఉన్న [issues](https://github.com/microsoft/Data-Science-For-Beginners/issues) మరియు [pull requests](https://github.com/microsoft/Data-Science-For-Beginners/pulls) ను సమీక్షించండి ## ధన్యవాదాలు! మీ సహకారాలు ఈ పాఠ్యాంశాన్ని అందరికీ మెరుగ్గా చేస్తాయి. సహకరించడానికి సమయం కేటాయించినందుకు ధన్యవాదాలు! --- **అస్పష్టత**: ఈ పత్రాన్ని AI అనువాద సేవ [Co-op Translator](https://github.com/Azure/co-op-translator) ఉపయోగించి అనువదించబడింది. మేము ఖచ్చితత్వానికి ప్రయత్నించినప్పటికీ, ఆటోమేటెడ్ అనువాదాల్లో పొరపాట్లు లేదా తప్పిదాలు ఉండవచ్చు. మూల పత్రం దాని స్వదేశీ భాషలోనే అధికారిక మూలంగా పరిగణించాలి. ముఖ్యమైన సమాచారానికి, ప్రొఫెషనల్ మానవ అనువాదం చేయించుకోవడం మంచిది. ఈ అనువాదం వాడకంలో ఏర్పడిన ఏవైనా అపార్థాలు లేదా తప్పుదారుల కోసం మేము బాధ్యత వహించము.