Skip to content

Software engineering best practices πŸ“š

License

Notifications You must be signed in to change notification settings

ParanoidUser/awesome-practices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

96 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Awesome Practices Awesome

banner

A curated list of best practices, guidelines, standards, and conventions accepted for software engineering.

Contents

Design

Creating user-friendly and visually appealing software interfaces.

Development

Writing code to build software applications.

Methodology

Methods for software development, delivery, and maintenance.

  • C4 Model - An easy to learn, developer friendly approach to software architecture diagramming.
  • Conventional Commits - Specification for adding human and machine-readable meaning to commit messages.
  • Functional Documentation - Some collected thoughts and ideas around applying a functional approach to writing and maintaining documentation, especially for design systems.
  • GitLab Documentation Style Guide - Standards for GitLab documentation, including grammar, formatting, word use, and more.
  • Java Design Patterns - Software design patterns, principles, and snippets.
  • Keep Changelog - Guidelines for maintaining a curated, chronologically ordered list of notable changes for each version of a project.
  • Manifesto for Agile Software Development - Outlines the central values and principles of Agile software development.
  • Minimum Viable CD - Set of practices that give the expected improvements to organizational structure that come with continuous delivery.
  • Open GitOps - Set of open-source standards, best practices, and community-focused education to help organizations adopt a structured, standardized approach to implementing GitOps.
  • Patterns for Managing Source Code Branches - Patterns that can allow teams to use branching effectively, concentrating around integrating the work of multiple developers and organizing the path to production releases.
  • Semantic Versioning - Formal convention for determining the version number of new software releases.
  • The Twelve-Factor App - Methodology for building software-as-a-service applications.
  • Trunk Based Development - Version management practice where developers merge small, frequent updates into a "trunk" or main branch.
  • Write the Docs - Collective wisdom of the Write the Docs community around best practices for creating software documentation.
  • Writing Better Release Notes - Some thoughts on how to write better release notes.

Tools

Software and hardware for software development and testing.

Data

Information storage, processing, and analysis in software.

  • MLOps Principles - Best practices and tools to test, deploy, manage, and monitor ML models in real-world production.
  • Transparent Telemetry - Designed to give developers the information they need to be effective without having to track detailed user activity.

Security

Protecting software from attacks and misuse.

Culture

Values and practices influencing software development.