Files
documentation/hi/introduction/snigdha-os-coding-standard.html
github-actions[bot] fb388e1f35 deploy: eda5e1732b
2024-12-30 06:39:10 +00:00

84 lines
42 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="hi" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-introduction/snigdha-os-coding-standard" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.6.3">
<title data-rh="true">Coding Standard | DOCUMENTATION | SNIGDHA OS</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://snigdhaos.org/documentation/hi/img/docusaurus-social-card.jpg"><meta data-rh="true" name="twitter:image" content="https://snigdhaos.org/documentation/hi/img/docusaurus-social-card.jpg"><meta data-rh="true" property="og:url" content="https://snigdhaos.org/documentation/hi/introduction/snigdha-os-coding-standard"><meta data-rh="true" property="og:locale" content="hi"><meta data-rh="true" property="og:locale:alternate" content="en"><meta data-rh="true" property="og:locale:alternate" content="bn"><meta data-rh="true" name="docusaurus_locale" content="hi"><meta data-rh="true" name="docsearch:language" content="hi"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Coding Standard | DOCUMENTATION | SNIGDHA OS"><meta data-rh="true" name="description" content="✨ Coding Standards for Snigdha OS Development"><meta data-rh="true" property="og:description" content="✨ Coding Standards for Snigdha OS Development"><link data-rh="true" rel="icon" href="/documentation/hi/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://snigdhaos.org/documentation/hi/introduction/snigdha-os-coding-standard"><link data-rh="true" rel="alternate" href="https://snigdhaos.org/documentation/introduction/snigdha-os-coding-standard" hreflang="en"><link data-rh="true" rel="alternate" href="https://snigdhaos.org/documentation/hi/introduction/snigdha-os-coding-standard" hreflang="hi"><link data-rh="true" rel="alternate" href="https://snigdhaos.org/documentation/bn/introduction/snigdha-os-coding-standard" hreflang="bn"><link data-rh="true" rel="alternate" href="https://snigdhaos.org/documentation/introduction/snigdha-os-coding-standard" hreflang="x-default"><link rel="stylesheet" href="/documentation/hi/assets/css/styles.433c78d8.css">
<script src="/documentation/hi/assets/js/runtime~main.1479fc67.js" defer="defer"></script>
<script src="/documentation/hi/assets/js/main.3cd48550.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="मुख्य कंटेंट तक स्किप करें"><a class="skipToContent_lteo" href="#__docusaurus_skipToContent_fallback">मुख्य कंटेंट तक स्किप करें</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/documentation/hi/"><div class="navbar__logo"><img src="/documentation/hi/img/logo.svg" alt="Snigdha OS Logo" class="themedComponent_KcS7 themedComponent--light_PHcV"><img src="/documentation/hi/img/logo.svg" alt="Snigdha OS Logo" class="themedComponent_KcS7 themedComponent--dark_hDFb"></div><b class="navbar__title text--truncate">PlayBook | SNIGDHA OS</b></a></div><div class="navbar__items navbar__items--right"><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link"><svg viewBox="0 0 24 24" width="20" height="20" aria-hidden="true" class="iconLanguage_KNEh"><path fill="currentColor" d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path></svg>हिन्दी</a><ul class="dropdown__menu"><li><a href="/documentation/introduction/snigdha-os-coding-standard" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="en">English</a></li><li><a href="/documentation/hi/introduction/snigdha-os-coding-standard" target="_self" rel="noopener noreferrer" class="dropdown__link dropdown__link--active" lang="hi">हिन्दी</a></li><li><a href="/documentation/bn/introduction/snigdha-os-coding-standard" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="bn">বাংলা</a></li></ul></div><a href="https://github.com/Snigdha-OS/" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_zRin"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_lagg colorModeToggle_y0Xj"><button class="clean-btn toggleButton_XgGf toggleButtonDisabled_cMhw" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_DmDu"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_XD1u"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_p6AX"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_ba09"><div class="docsWrapper_sEeB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_iLKF" type="button"></button><div class="docRoot_EkxU"><aside class="theme-doc-sidebar-container docSidebarContainer_c1ls"><div class="sidebarViewport_KCfd"><div class="sidebar_DH5_"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_Guh8"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--active" href="/documentation/hi/category/introduction">Introduction</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/">Overview</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/introduction/name-and-story-of-snigdha-os">Story &amp; Name</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/introduction/motivation-behind-snigdha-os">Aim &amp; Motivation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/introduction/snigdha-os-code-of-conduct">Code of Conduct</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/documentation/hi/introduction/snigdha-os-coding-standard">Coding Standard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/introduction/contribution-guidelines-for-snigdha-os">Contribution Guidelines</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/introduction/snigdha-os-release-notes">Release Notes</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/introduction/faq-snigdha-os">Frequently Asked</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link" href="/documentation/hi/category/installation">Installation</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/installation/snigdha-os-system-requirements">System Requirements</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/installation/important-note-for-snigdha-os-installation">Important Note</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/installation/download-snigdha-os">Download Snigdha OS</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/installation/snigdha-os-live-environment">Live Environment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/installation/snigdha-os-offline-installation">Offline Installation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/installation/snigdha-os-online-installation">Online Installation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/installation/snigdha-os-on-virtual-box">VirtualBox Installation</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link" href="/documentation/hi/category/post-installation">Post Installation</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/post-installation/snigdha-os-language-pack">Language</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/post-installation/update-snigdha-os">Update Snigdha OS</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/post-installation/customize-snigdha-os">Customize Snigdha OS</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/post-installation/install-packages-on-snigdha-os">Install Packages</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link" href="/documentation/hi/category/user-guide">User Guide</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/user-guide/snigdha-os-terminal-shortcuts">Introduction to Terminal</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/user-guide/snigdha-os-command-shorcuts">Shortcut for Developers</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/user-guide/snigdha-os-and-aur">Installing with AUR</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/user-guide/snigdha-os-and-chaotic-aur">Chaotic AUR</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link" href="/documentation/hi/category/troubleshoot">Troubleshoot</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/troubleshoot/troubleshoot-wifi-on-snigdha-os">Troubleshooting Wi-Fi Issues</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/troubleshoot/troubleshoot-display-problem-on-snigdha-os">Troubleshooting Display Issues</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/troubleshoot/troubleshoot-sound-on-snigdha-os">Troubleshooting Sound Issues</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/documentation/hi/troubleshoot/troubleshoot-nvidia-on-snigdha-os">Troubleshooting NVIDIA Issues</a></li></ul></li></ul></nav></div></div></aside><main class="docMainContainer_tc5v"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_Gtcw"><div class="docItemContainer_TPzz"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_m1rm" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/documentation/hi/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_EECA"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/documentation/hi/category/introduction"><span itemprop="name">Introduction</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Coding Standard</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_dmgG theme-doc-toc-mobile tocMobile_njoT"><button type="button" class="clean-btn tocCollapsibleButton_xeGY">इस पेज पर</button></div><div class="theme-doc-markdown markdown"><header><h1>Coding Standard</h1></header>
<h3 class="anchor anchorWithStickyNavbar_Nmox" id="-coding-standards-for-snigdha-os-development"><strong>Coding Standards for Snigdha OS Development</strong><a href="#-coding-standards-for-snigdha-os-development" class="hash-link" aria-label="-coding-standards-for-snigdha-os-development का सीधा लिंक" title="-coding-standards-for-snigdha-os-development का सीधा लिंक"></a></h3>
<p>To ensure that Snigdha OS maintains a high-quality codebase, its essential to follow these coding standards. These guidelines promote readability, maintainability, and collaboration while ensuring the code remains efficient and secure. 🚀</p>
<h3 class="anchor anchorWithStickyNavbar_Nmox" id="1⃣-consistent-naming-conventions">1<strong>Consistent Naming Conventions</strong><a href="#1⃣-consistent-naming-conventions" class="hash-link" aria-label="1⃣-consistent-naming-conventions का सीधा लिंक" title="1⃣-consistent-naming-conventions का सीधा लिंक"></a></h3>
<p>✅ Use meaningful and descriptive names for variables, functions, and classes.<br>
<!-- -->✅ Stick to a consistent naming convention across the codebase:</p>
<ul>
<li><strong>camelCase</strong> for variables and functions.</li>
<li><strong>PascalCase</strong> for classes and constructors.</li>
<li><strong>snake_case</strong> for constants and configuration keys.</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_Nmox" id="2⃣-indentation-and-formatting">2<strong>Indentation and Formatting</strong><a href="#2⃣-indentation-and-formatting" class="hash-link" aria-label="2⃣-indentation-and-formatting का सीधा लिंक" title="2⃣-indentation-and-formatting का सीधा लिंक"></a></h3>
<p>✅ Use consistent indentation (2 or 4 spaces preferred). Avoid using tabs.<br>
<!-- -->✅ Follow a consistent formatting style (e.g., braces alignment, spacing).<br>
<!-- -->✅ Limit line length to 80-100 characters for better readability.<br>
<!-- -->✅ Remove unnecessary whitespaces and trailing spaces.</p>
<h3 class="anchor anchorWithStickyNavbar_Nmox" id="3⃣-comments">3<strong>Comments</strong><a href="#3⃣-comments" class="hash-link" aria-label="3⃣-comments का सीधा लिंक" title="3⃣-comments का सीधा लिंक"></a></h3>
<p>✅ Add comments to explain complex logic, algorithms, or unusual decisions.<br>
<!-- -->✅ Keep comments concise, relevant, and synchronized with code changes.<br>
<!-- -->✅ Avoid obvious comments like <code>// Incrementing i by 1</code>.</p>
<div class="language-javascript codeBlockContainer_zdU1 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_Wtve"><pre tabindex="0" class="prism-code language-javascript codeBlock_FePj thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_uHLm"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic">// Good Example:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">function</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">calculateTax</span><span class="token punctuation" style="color:#393A34">(</span><span class="token parameter">income</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Calculates tax based on progressive slabs.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token spread operator" style="color:#393A34">...</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup_Glww"><button type="button" aria-label="क्लिपबोर्ड पर कोड कॉपी करें" title="कॉपी" class="clean-btn"><span class="copyButtonIcons_MhoQ" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_GwRO"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_uCBd"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<h3 class="anchor anchorWithStickyNavbar_Nmox" id="4⃣-modularity-and-code-reusability">4<strong>Modularity and Code Reusability</strong><a href="#4⃣-modularity-and-code-reusability" class="hash-link" aria-label="4⃣-modularity-and-code-reusability का सीधा लिंक" title="4⃣-modularity-and-code-reusability का सीधा लिंक"></a></h3>
<p>✅ Break down code into small, reusable functions or modules.<br>
<!-- -->✅ Group related functionalities into classes or namespaces for better organization.</p>
<h3 class="anchor anchorWithStickyNavbar_Nmox" id="5⃣-error-handling">5<strong>Error Handling</strong><a href="#5⃣-error-handling" class="hash-link" aria-label="5⃣-error-handling का सीधा लिंक" title="5⃣-error-handling का सीधा लिंक"></a></h3>
<p>✅ Use proper error-handling mechanisms like <code>try-catch</code> blocks or error codes.<br>
<!-- -->✅ Avoid exposing internal logic in error messages.</p>
<div class="language-python codeBlockContainer_zdU1 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_Wtve"><pre tabindex="0" class="prism-code language-python codeBlock_FePj thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_uHLm"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">try</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> result </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> perform_operation</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">except</span><span class="token plain"> ValueError </span><span class="token keyword" style="color:#00009f">as</span><span class="token plain"> e</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">print</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;Invalid input. Please try again.&quot;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Avoid exposing &quot;ValueError: details&quot;</span><br></span></code></pre><div class="buttonGroup_Glww"><button type="button" aria-label="क्लिपबोर्ड पर कोड कॉपी करें" title="कॉपी" class="clean-btn"><span class="copyButtonIcons_MhoQ" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_GwRO"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_uCBd"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<h3 class="anchor anchorWithStickyNavbar_Nmox" id="6⃣-code-readability">6<strong>Code Readability</strong><a href="#6⃣-code-readability" class="hash-link" aria-label="6⃣-code-readability का सीधा लिंक" title="6⃣-code-readability का सीधा लिंक"></a></h3>
<p>✅ Write simple and clear code. Avoid unnecessary complexity.<br>
<!-- -->✅ Use descriptive variable and function names instead of single-letter identifiers.<br>
<!-- -->✅ Favor clarity over cleverness.</p>
<h3 class="anchor anchorWithStickyNavbar_Nmox" id="7⃣-consistent-code-style">7<strong>Consistent Code Style</strong><a href="#7⃣-consistent-code-style" class="hash-link" aria-label="7⃣-consistent-code-style का सीधा लिंक" title="7⃣-consistent-code-style का सीधा लिंक"></a></h3>
<p>✅ Follow the style guide for the programming language used (e.g., PEP 8 for Python, ESLint for JavaScript).<br>
<!-- -->✅ Adopt consistent practices for spacing, indentation, and braces placement.</p>
<h3 class="anchor anchorWithStickyNavbar_Nmox" id="8⃣-documentation">8<strong>Documentation</strong><a href="#8⃣-documentation" class="hash-link" aria-label="8⃣-documentation का सीधा लिंक" title="8⃣-documentation का सीधा लिंक"></a></h3>
<p>✅ Document every function, class, and module with clear descriptions.<br>
<!-- -->✅ Include parameter details, return values, and potential exceptions in documentation.</p>
<div class="language-python codeBlockContainer_zdU1 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_Wtve"><pre tabindex="0" class="prism-code language-python codeBlock_FePj thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_uHLm"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">def</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">calculate_area</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">radius</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token triple-quoted-string string" style="color:#e3116c">&quot;&quot;&quot;</span><br></span><span class="token-line" style="color:#393A34"><span class="token triple-quoted-string string" style="color:#e3116c"> Calculates the area of a circle.</span><br></span><span class="token-line" style="color:#393A34"><span class="token triple-quoted-string string" style="display:inline-block;color:#e3116c"></span><br></span><span class="token-line" style="color:#393A34"><span class="token triple-quoted-string string" style="color:#e3116c"> Args:</span><br></span><span class="token-line" style="color:#393A34"><span class="token triple-quoted-string string" style="color:#e3116c"> radius (float): The radius of the circle.</span><br></span><span class="token-line" style="color:#393A34"><span class="token triple-quoted-string string" style="display:inline-block;color:#e3116c"></span><br></span><span class="token-line" style="color:#393A34"><span class="token triple-quoted-string string" style="color:#e3116c"> Returns:</span><br></span><span class="token-line" style="color:#393A34"><span class="token triple-quoted-string string" style="color:#e3116c"> float: The area of the circle.</span><br></span><span class="token-line" style="color:#393A34"><span class="token triple-quoted-string string" style="color:#e3116c"> &quot;&quot;&quot;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">return</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3.14</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain"> radius </span><span class="token operator" style="color:#393A34">**</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><br></span></code></pre><div class="buttonGroup_Glww"><button type="button" aria-label="क्लिपबोर्ड पर कोड कॉपी करें" title="कॉपी" class="clean-btn"><span class="copyButtonIcons_MhoQ" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_GwRO"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_uCBd"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<h3 class="anchor anchorWithStickyNavbar_Nmox" id="9⃣-testing">9<strong>Testing</strong><a href="#9⃣-testing" class="hash-link" aria-label="9⃣-testing का सीधा लिंक" title="9⃣-testing का सीधा लिंक"></a></h3>
<p>✅ Write unit tests for all critical functionality.<br>
<!-- -->✅ Aim for at least 80% code coverage.<br>
<!-- -->✅ Automate tests where possible with frameworks like <code>pytest</code>, <code>Jest</code>, or <code>JUnit</code>.</p>
<h3 class="anchor anchorWithStickyNavbar_Nmox" id="-version-control">🔟 <strong>Version Control</strong><a href="#-version-control" class="hash-link" aria-label="-version-control का सीधा लिंक" title="-version-control का सीधा लिंक"></a></h3>
<p>✅ Use Git for version control. Follow branching strategies like <strong>Git Flow</strong>.<br>
<!-- -->✅ Write clear, descriptive commit messages in the <a href="https://www.conventionalcommits.org" target="_blank" rel="noopener noreferrer">Conventional Commits</a> format:</p>
<div class="codeBlockContainer_zdU1 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_Wtve"><pre tabindex="0" class="prism-code language-text codeBlock_FePj thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_uHLm"><span class="token-line" style="color:#393A34"><span class="token plain">feat: add feature for user authentication </span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">fix: resolve bug in payment gateway integration </span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">docs: update README with installation steps </span><br></span></code></pre><div class="buttonGroup_Glww"><button type="button" aria-label="क्लिपबोर्ड पर कोड कॉपी करें" title="कॉपी" class="clean-btn"><span class="copyButtonIcons_MhoQ" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_GwRO"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_uCBd"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<h3 class="anchor anchorWithStickyNavbar_Nmox" id="1⃣1⃣-performance-considerations">1⃣1<strong>Performance Considerations</strong><a href="#1⃣1⃣-performance-considerations" class="hash-link" aria-label="1⃣1⃣-performance-considerations का सीधा लिंक" title="1⃣1⃣-performance-considerations का सीधा लिंक"></a></h3>
<p>✅ Write efficient algorithms with optimal time and space complexity.<br>
<!-- -->✅ Avoid unnecessary loops, nested loops, or redundant operations.<br>
<!-- -->✅ Use lazy loading or caching for heavy computations or data fetching.</p>
<h3 class="anchor anchorWithStickyNavbar_Nmox" id="1⃣2⃣-security">1⃣2<strong>Security</strong><a href="#1⃣2⃣-security" class="hash-link" aria-label="1⃣2⃣-security का सीधा लिंक" title="1⃣2⃣-security का सीधा लिंक"></a></h3>
<p>✅ Sanitize and validate all user inputs.<br>
<!-- -->✅ Use parameterized queries for database operations to avoid SQL injection.<br>
<!-- -->✅ Regularly audit code for vulnerabilities like XSS, CSRF, or buffer overflows.</p>
<h3 class="anchor anchorWithStickyNavbar_Nmox" id="1⃣3⃣-dependencies-and-third-party-libraries">1⃣3<strong>Dependencies and Third-party Libraries</strong><a href="#1⃣3⃣-dependencies-and-third-party-libraries" class="hash-link" aria-label="1⃣3⃣-dependencies-and-third-party-libraries का सीधा लिंक" title="1⃣3⃣-dependencies-and-third-party-libraries का सीधा लिंक"></a></h3>
<p>✅ Use only necessary and trusted libraries.<br>
<!-- -->✅ Keep dependencies updated to ensure compatibility and fix vulnerabilities.</p>
<h3 class="anchor anchorWithStickyNavbar_Nmox" id="1⃣4⃣-internationalization-i18n-and-localization-l10n">1⃣4<strong>Internationalization (i18n) and Localization (l10n)</strong><a href="#1⃣4⃣-internationalization-i18n-and-localization-l10n" class="hash-link" aria-label="1⃣4⃣-internationalization-i18n-and-localization-l10n का सीधा लिंक" title="1⃣4⃣-internationalization-i18n-and-localization-l10n का सीधा लिंक"></a></h3>
<p>✅ Design code to support multiple languages and locales.<br>
<!-- -->✅ Externalize strings into resource files for easy translation.</p>
<h3 class="anchor anchorWithStickyNavbar_Nmox" id="1⃣5⃣-accessibility">1⃣5<strong>Accessibility</strong><a href="#1⃣5⃣-accessibility" class="hash-link" aria-label="1⃣5⃣-accessibility का सीधा लिंक" title="1⃣5⃣-accessibility का सीधा लिंक"></a></h3>
<p>✅ Ensure UI components follow accessibility standards (e.g., WCAG).<br>
<!-- -->✅ Provide alternative text for images and ensure keyboard navigation.</p>
<h3 class="anchor anchorWithStickyNavbar_Nmox" id="1⃣6⃣-concurrency-and-thread-safety">1⃣6<strong>Concurrency and Thread Safety</strong><a href="#1⃣6⃣-concurrency-and-thread-safety" class="hash-link" aria-label="1⃣6⃣-concurrency-and-thread-safety का सीधा लिंक" title="1⃣6⃣-concurrency-and-thread-safety का सीधा लिंक"></a></h3>
<p>✅ For concurrent operations, write thread-safe code to avoid race conditions.<br>
<!-- -->✅ Use synchronization mechanisms like locks or semaphores.</p>
<h3 class="anchor anchorWithStickyNavbar_Nmox" id="-key-principles">🔑 <strong>Key Principles</strong><a href="#-key-principles" class="hash-link" aria-label="-key-principles का सीधा लिंक" title="-key-principles का सीधा लिंक"></a></h3>
<p>1<strong>Readability</strong>: Write code as if the next person maintaining it is you in six months.<br>
<!-- -->2<strong>Modularity</strong>: Make changes easier by keeping code decoupled and modular.<br>
<!-- -->3<strong>Consistency</strong>: Adopt a uniform style to avoid confusion and ensure maintainability.</p>
<p>Following these standards will not only improve code quality but also foster a collaborative and professional environment. Happy coding! 🎉👩‍💻👨‍💻</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/Snigdha-OS/documentation/tree/master/docs/introduction/snigdha-os-coding-standard.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_KA8x" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>इस पेज को बदलें</a></div><div class="col lastUpdated_IRpf"><span class="theme-last-updated">आखरी अपडेट<!-- --> <b><time datetime="2024-12-30T06:32:48.000Z" itemprop="dateModified">30 दिस॰ 2024</time></b> पर</span></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="डॉक्स पेज"><a class="pagination-nav__link pagination-nav__link--prev" href="/documentation/hi/introduction/snigdha-os-code-of-conduct"><div class="pagination-nav__sublabel">पिछ्ला</div><div class="pagination-nav__label">Code of Conduct</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/documentation/hi/introduction/contribution-guidelines-for-snigdha-os"><div class="pagination-nav__sublabel">अगला</div><div class="pagination-nav__label">Contribution Guidelines</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_IGls thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#-coding-standards-for-snigdha-os-development" class="table-of-contents__link toc-highlight"><strong>Coding Standards for Snigdha OS Development</strong></a></li><li><a href="#1⃣-consistent-naming-conventions" class="table-of-contents__link toc-highlight">1️⃣ <strong>Consistent Naming Conventions</strong></a></li><li><a href="#2⃣-indentation-and-formatting" class="table-of-contents__link toc-highlight">2<strong>Indentation and Formatting</strong></a></li><li><a href="#3⃣-comments" class="table-of-contents__link toc-highlight">3<strong>Comments</strong></a></li><li><a href="#4⃣-modularity-and-code-reusability" class="table-of-contents__link toc-highlight">4<strong>Modularity and Code Reusability</strong></a></li><li><a href="#5⃣-error-handling" class="table-of-contents__link toc-highlight">5<strong>Error Handling</strong></a></li><li><a href="#6⃣-code-readability" class="table-of-contents__link toc-highlight">6<strong>Code Readability</strong></a></li><li><a href="#7⃣-consistent-code-style" class="table-of-contents__link toc-highlight">7<strong>Consistent Code Style</strong></a></li><li><a href="#8⃣-documentation" class="table-of-contents__link toc-highlight">8<strong>Documentation</strong></a></li><li><a href="#9⃣-testing" class="table-of-contents__link toc-highlight">9<strong>Testing</strong></a></li><li><a href="#-version-control" class="table-of-contents__link toc-highlight">🔟 <strong>Version Control</strong></a></li><li><a href="#1⃣1⃣-performance-considerations" class="table-of-contents__link toc-highlight">1⃣1<strong>Performance Considerations</strong></a></li><li><a href="#1⃣2⃣-security" class="table-of-contents__link toc-highlight">1⃣2<strong>Security</strong></a></li><li><a href="#1⃣3⃣-dependencies-and-third-party-libraries" class="table-of-contents__link toc-highlight">1⃣3<strong>Dependencies and Third-party Libraries</strong></a></li><li><a href="#1⃣4⃣-internationalization-i18n-and-localization-l10n" class="table-of-contents__link toc-highlight">1⃣4<strong>Internationalization (i18n) and Localization (l10n)</strong></a></li><li><a href="#1⃣5⃣-accessibility" class="table-of-contents__link toc-highlight">1⃣5<strong>Accessibility</strong></a></li><li><a href="#1⃣6⃣-concurrency-and-thread-safety" class="table-of-contents__link toc-highlight">1⃣6<strong>Concurrency and Thread Safety</strong></a></li><li><a href="#-key-principles" class="table-of-contents__link toc-highlight">🔑 <strong>Key Principles</strong></a></li></ul></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Snigdha OS. Powered by Tonmoy Infrastructure.</div></div></div></footer></div>
</body>
</html>