Jump to content

Talk:03 Coding Standards & Guidelines

Add topic
From HEIN+FRICKE

1. Purpose[edit | edit source]

This document defines the coding standards and guidelines to ensure consistency, readability, maintainability, and quality across all software development projects within the organization.

2. Scope[edit | edit source]

These standards apply to all developers, contractors, and third parties who contribute to software development for Hein Fricke.

3. General Principles[edit | edit source]

  • Code must be clean, consistent, and self-explanatory.
  • Follow the DRY (Don't Repeat Yourself) principle.
  • Optimize for readability over cleverness.
  • Include meaningful comments where necessary.
  • Ensure cross-platform and cross-browser compatibility where applicable.

4. Coding Conventions[edit | edit source]

4.1 Naming Conventions[edit | edit source]

Element Convention Example
Classes PascalCase EmployeeManager
Functions/Methods camelCase calculateSalary()
Variable camelCase employeeName
Constants UPPER_CASE_SNAKE_CASE MAX_RETRIES
Files kebab-case or snake_case employee-manager.js

4.2 Indentation and Spacing[edit | edit source]

  • Use 4 spaces per indentation level (no tabs).
  • Place opening braces on the same line.
  • Leave a blank line between method definitions.

4.3 Line Length[edit | edit source]

  • Maximum of 120 characters per line.

4.4 File Structure[edit | edit source]

  • One class/component per file.
  • Keep imports at the top.
  • Group logically related functions and classes.

5. Language-Specific Standards[edit | edit source]

5.1 JavaScript/TypeScript[edit | edit source]

  • Use `const` and `let`, avoid `var`.
  • Prefer arrow functions.
  • Use strict equality (===).
  • Use ES6+ syntax.

5.2 Python[edit | edit source]

  • Follow PEP8 standards.
  • Use type hints for function signatures.
  • Document functions with docstrings.

5.3 Java[edit | edit source]

  • Follow Oracle Java Code Conventions.
  • Use JavaDocs for documentation.
  • Use appropriate access modifiers.

5.4 HTML/CSS[edit | edit source]

  • Use semantic HTML tags.
  • Use external stylesheets.
  • Use BEM naming for CSS classes.

6. Version Control[edit | edit source]

  • Use Git for source control.
  • Commit messages should be clear and follow the format:

<type>: <short description>

[optional body]

[optional footer]

  • Common commit types: feat, fix, docs, style, refactor, test, chore.

7. Code Review[edit | edit source]

  • All code must be reviewed via pull requests.
  • At least one peer reviewer is required before merging.
  • Reviewers should check for:
    • Adherence to coding standards
    • Readability and clarity
    • Test coverage and documentation
    • Security and performance issues

8. Testing[edit | edit source]

  • Write unit tests for all functions/methods.
  • Maintain at least 80% code coverage.
  • Include integration and end-to-end tests where applicable.
  • Use automated CI pipelines for running tests.

For more details refer document JUnit_Test_Cases_Document.docx

9. Documentation[edit | edit source]

  • All public APIs, classes, and modules must be documented.
  • Use tools like JSDoc, Sphinx, or Swagger as appropriate.
  • Maintain a project README.md with:
    • Project purpose
    • Setup instructions
    • Usage examples

10. Security Practices[edit | edit source]

  • Validate all user input.
  • Use parameterized queries to prevent SQL injection.
  • Never store passwords in plain text.
  • Sanitize data before rendering on the UI.

11. Compliance & Enforcement[edit | edit source]

  • All developers must acknowledge this document.
  • Non-compliance may result in code rejection or disciplinary action.
  • Regular audits will be conducted.

12. References[edit | edit source]