Jump to content

Talk:03 Coding Standards & Guidelines

From HEIN+FRICKE

1. Purpose

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

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

3. General Principles

  • 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

4.1 Naming Conventions

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

  • 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

  • Maximum of 120 characters per line.

4.4 File Structure

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

5. Language-Specific Standards

5.1 JavaScript/TypeScript

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

5.2 Python

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

5.3 Java

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

5.4 HTML/CSS

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

6. Version Control

  • 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

  • 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

  • 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

  • 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

  • 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

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

12. References