• Principles
    • View Principles
    • Create a principle ✍️

    • What is a principle?
    • Why use principles?
    • How to use Principles
    • Writing your first Principle
  • Articles
  • Log in / Sign up

Adam Craven

AdamCraven

  • Early Adopter

  • Founding

  • Editor

  • Principle user #1
  • Joined Dec 2020
  • Authored principles 19
  • Contributed principles 24
  • Total contributions43
  • Github Github Profile
  • Website https://principles.dev
  • Location UK
  • Twitter @principles_dev

Starred

Your starred principles

  • Use consistent coding conventions, automatically enforced
  • Iterate in Thens
  • Separate core logic from the framework
  • Make the invisible, visible
  • Reduce a problem to its lowest sensible abstraction

My Process

I use these day-to-day when Software Engineering

  • Iterate in Thens
  • Reduce a problem to its lowest sensible abstraction

CTO principles

Here are the principles I use when leading teams

  • Separate core logic from the framework
  • Make the invisible, visible
  • Reduce a problem to its lowest sensible abstraction

5 Core Principles of Bug Free UI

Over my career I’ve written a lot of UI code. What has always interested me is figuring out how to …

  • One single source of truth
  • Compute properties when possible
  • Ensure UI components can be loaded separately from an application
  • Model all state in an application
  • Test models thoroughly, test everything else less

Code review principles

When code reviewing, link the principle to the problem you see in the code. Instead of writing long…

  • Use consistent coding conventions, automatically enforced
  • Logic should be in the positive
  • Separate core logic from the framework
  • Software should be easy to debug
  • One single source of truth
  • Documentation should be close to the code
  • Code an off-switch
  • Use meaningful and pronounceable variable names
  • Use default arguments instead of short circuiting or conditionals
  • Single-Responsibility Principle
  • Dependency Inversion Principle

Process - End of meetings: Wash up

A 10-minute session reserved at the end of specific meetings (usually ones that involve a lot of de…

  • Make the invisible, visible
  • Understand a problem individually, then share it.

Cognitive load reduction

Following these specific prinpcles reduces cognitive load whilst programming.

  • Iterate in Thens
  • Logic should be in the positive
  • Relatedness pattern
  • Principles
  • Create a principle
  • How to use principles
  • More
  • About
  • Blog
  • Legal
  • License
  • Cookies
  • Privacy Policy
  • Terms of Service
  • Get in touch
  • Github discussions
  • Connect
  • Github Principles Project
  • Twitter

© 2019 — 2023 Principles.dev. Some Rights Reserved.