Files
documentation/introduction/coding-standard.html
github-actions[bot] 269014eb8a deploy: 8ec40a8bd2
2024-12-09 07:15:48 +00:00

102 lines
43 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="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-introduction/coding-standard" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.1.1">
<title data-rh="true">Coding Standard | SNIGDHA OS - DOCS</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/img/docusaurus-social-card.jpg"><meta data-rh="true" name="twitter:image" content="https://snigdhaos.org/documentation/img/docusaurus-social-card.jpg"><meta data-rh="true" property="og:url" content="https://snigdhaos.org/documentation/introduction/coding-standard"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><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 | SNIGDHA OS - DOCS"><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/img/snigdhaos-icon-docs.ico"><link data-rh="true" rel="canonical" href="https://snigdhaos.org/documentation/introduction/coding-standard"><link data-rh="true" rel="alternate" href="https://snigdhaos.org/documentation/introduction/coding-standard" hreflang="en"><link data-rh="true" rel="alternate" href="https://snigdhaos.org/documentation/introduction/coding-standard" hreflang="x-default"><link rel="alternate" type="application/rss+xml" href="/documentation/blog/rss.xml" title="SNIGDHA OS - DOCS RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/documentation/blog/atom.xml" title="SNIGDHA OS - DOCS Atom Feed"><link rel="stylesheet" href="/documentation/assets/css/styles.1a648909.css">
<script src="/documentation/assets/js/runtime~main.d9043805.js" defer="defer"></script>
<script src="/documentation/assets/js/main.398de514.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 localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)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="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</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/"><div class="navbar__logo"><img src="/documentation/img/snigdhaos-face.svg" alt="Snigdha OS Docs Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/documentation/img/snigdhaos-face.svg" alt="Snigdha OS Docs Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">DOCUMENTATION | SNIGDHA OS</b></a></div><div class="navbar__items navbar__items--right"><div class="navbarSearchContainer_Bca1"></div><a href="https://snigdhaos.org/" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Home<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><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><a href="https://snigdha-os.github.io/snigdhaos-status/" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Status<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><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><a href="http://snigdha-os.github.io/documentation/privacy_policy" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Privacy Policy<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><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><a href="https://github.com/Snigdha-OS/" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link navbar__icon navbar__github"><i class="fa fa-github"></i></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" 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"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><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_wfgR"><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></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><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/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/">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/introduction/name_and_story">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/introduction/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" tabindex="0" href="/documentation/introduction/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/introduction/reporting_bugs">Reporting Bugs</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/introduction/faqs">Frequently Asked</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/introduction/contributing">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 menu__link--active" aria-current="page" tabindex="0" href="/documentation/introduction/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/introduction/motivation">Aim &amp; Motivation</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/category/before-installation">Before 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/before_installation/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/before_installation/imporatnt_notes">Important 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/before_installation/internet_connection">Internet Connection</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/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/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/installation/making_bootable_usb">Bootable USB With Ventoy</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/installation/live_env">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/installation/offline_install">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/installation/online_install">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/installation/virtualbox_installation">Virtualbox</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/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/post_installation/language">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/post_installation/update">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/post_installation/customization">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/post_installation/install_packages">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/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/user_guide/cheetsheet">Cheetsheet/Shortcuts</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/user_guide/aur">Installing with 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/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/troubleshoot/wifi">Troubleshoot: Wifi</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/troubleshoot/bluetooth">Troubleshoot: Bluetooth</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/troubleshoot/sound">Troubleshoot: Sound</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/troubleshoot/display">Troubleshoot: Display</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/category/packages">Packages</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/packages/snigdhaos_welcome">Welcome</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/packages/snigdhaos_blackbox">Blackbox</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/category/developers-guide">Developers 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/dev_guide/build_source">Build From Source</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/dev_guide/gpg_key">Generate GPG Key</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/dev_guide/upload_gpg_key">Upload Key =&gt; Server</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/dev_guide/install_keyring">Install Keyrings</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/dev_guide/deploy_packages">Upload &amp; Deploy Packages</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/dev_guide/write">Writing Documentation</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/dev_guide/pkgbuild">PKGBUILD Template</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/category/tools">Tools</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/tools/dns">DNS Enum</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/tools/aircrack-ng">Aircrack-NG</a></li></ul></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" 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/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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/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_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><h1>Coding Standard</h1>
<h3 class="anchor anchorWithStickyNavbar_LWe7" 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="Direct link to -coding-standards-for-snigdha-os-development" title="Direct link to -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>
<hr>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="1⃣-consistent-naming-conventions">1<strong>Consistent Naming Conventions</strong><a href="#1⃣-consistent-naming-conventions" class="hash-link" aria-label="Direct link to 1⃣-consistent-naming-conventions" title="Direct link to 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>
<hr>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="2⃣-indentation-and-formatting">2<strong>Indentation and Formatting</strong><a href="#2⃣-indentation-and-formatting" class="hash-link" aria-label="Direct link to 2⃣-indentation-and-formatting" title="Direct link to 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>
<hr>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="3⃣-comments">3<strong>Comments</strong><a href="#3⃣-comments" class="hash-link" aria-label="Direct link to 3⃣-comments" title="Direct link to 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_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-javascript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><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__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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_LjdS"><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>
<hr>
<h3 class="anchor anchorWithStickyNavbar_LWe7" 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="Direct link to 4⃣-modularity-and-code-reusability" title="Direct link to 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>
<hr>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="5⃣-error-handling">5<strong>Error Handling</strong><a href="#5⃣-error-handling" class="hash-link" aria-label="Direct link to 5⃣-error-handling" title="Direct link to 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_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><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__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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_LjdS"><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>
<hr>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="6⃣-code-readability">6<strong>Code Readability</strong><a href="#6⃣-code-readability" class="hash-link" aria-label="Direct link to 6⃣-code-readability" title="Direct link to 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>
<hr>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="7⃣-consistent-code-style">7<strong>Consistent Code Style</strong><a href="#7⃣-consistent-code-style" class="hash-link" aria-label="Direct link to 7⃣-consistent-code-style" title="Direct link to 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>
<hr>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="8⃣-documentation">8<strong>Documentation</strong><a href="#8⃣-documentation" class="hash-link" aria-label="Direct link to 8⃣-documentation" title="Direct link to 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_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><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__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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_LjdS"><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>
<hr>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="9⃣-testing">9<strong>Testing</strong><a href="#9⃣-testing" class="hash-link" aria-label="Direct link to 9⃣-testing" title="Direct link to 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>
<hr>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="-version-control">🔟 <strong>Version Control</strong><a href="#-version-control" class="hash-link" aria-label="Direct link to -version-control" title="Direct link to -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_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><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__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><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_LjdS"><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>
<hr>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="1⃣1⃣-performance-considerations">1⃣1<strong>Performance Considerations</strong><a href="#1⃣1⃣-performance-considerations" class="hash-link" aria-label="Direct link to 1⃣1⃣-performance-considerations" title="Direct link to 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>
<hr>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="1⃣2⃣-security">1⃣2<strong>Security</strong><a href="#1⃣2⃣-security" class="hash-link" aria-label="Direct link to 1⃣2⃣-security" title="Direct link to 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>
<hr>
<h3 class="anchor anchorWithStickyNavbar_LWe7" 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="Direct link to 1⃣3⃣-dependencies-and-third-party-libraries" title="Direct link to 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>
<hr>
<h3 class="anchor anchorWithStickyNavbar_LWe7" 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="Direct link to 1⃣4⃣-internationalization-i18n-and-localization-l10n" title="Direct link to 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>
<hr>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="1⃣5⃣-accessibility">1⃣5<strong>Accessibility</strong><a href="#1⃣5⃣-accessibility" class="hash-link" aria-label="Direct link to 1⃣5⃣-accessibility" title="Direct link to 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>
<hr>
<h3 class="anchor anchorWithStickyNavbar_LWe7" 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="Direct link to 1⃣6⃣-concurrency-and-thread-safety" title="Direct link to 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>
<hr>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="-key-principles">🔑 <strong>Key Principles</strong><a href="#-key-principles" class="hash-link" aria-label="Direct link to -key-principles" title="Direct link to -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="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/Snigdha-OS/documentation/tree/master/docs/introduction/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_Z9Sw" 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>Edit this page</a></div><div class="col lastUpdated_vwxv"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/documentation/introduction/contributing"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Contribution Guidelines</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/documentation/introduction/motivation"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Aim &amp; Motivation</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL 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"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">© 2024 SNIGDHA OS. ALL RIGHTS RESERVED.</div></div></div></footer></div>
</body>
</html>