Skip to content

jmorla/software-guidelines

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Software Guidelines

A comprehensive collection of software engineering principles and practices that emphasize tactical programming, module design, and test-driven development.

Overview

This repository documents the software design philosophy and Java code of conduct that governs disciplined, maintainable, and robust software engineering.

Contents

  • SOFTWARE_PHYLOSOPHY.md — Core design principles including design thinking, module depth, complexity management, and error elimination
  • JAVA_CODE_OF_CONDUCT.md — Java-specific behavioral rules covering exception handling, resource management, documentation, TDD, and architecture

Key Principles

  • Design Twice — Think before coding; validate design before implementation
  • Deep Modules — Hide complexity behind minimal, powerful interfaces
  • Tactical Programming — Code with clear intent and measurable objectives
  • Test-Driven Development — Always start with a failing test
  • Error Prevention — Design systems to eliminate invalid states rather than handle errors
  • No Information Leakage — Expose only what's necessary; keep internals private

Quick Start

Read the documents in order:

  1. Start with SOFTWARE_PHYLOSOPHY.md for foundational design principles
  2. Follow with JAVA_CODE_OF_CONDUCT.md for practical Java implementation rules

These guidelines are not rules to follow blindly—they are a way of thinking about software engineering.

About

A software Guideline repository

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors