Principles.dev
  • Articles
  • Principles
  • More
    • Create a principle ✍️
    • What is a principle?
    • Why use principles?
    • How to use Principles
    • Writing your first Principle

Adam Craven

AdamCraven

  • Early Adopter

  • Founding

  • Editor

  • Principle user #1
  • Joined Dec 2020
  • Authored principles 21
  • Contributed principles 23
  • Total contributions44
  • Github Github Profile
  • Website https://adamcraven.com
  • Location UK
  • Twitter @principles_dev

Starred

Your starred principles

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

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

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

6 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
  • Test models thoroughly, test everything else less
  • Separate core logic from the framework
  • Model all state in an application
  • Ensure UI components can be loaded separately from an application
  • Compute properties when possible

Code review principles

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

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

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

Learning

* Go to the source - Once you've got basic understanding of an area, go as deep as you can. Academi…

    No principles have been added to this list

Dev ops

Should feel like engineers have root access. Should be driven down tracks in a way that feels effor…

  • Treat things like cattle, not pets
  • Principles
  • Create a principle
  • How to use principles
  • More
  • About
  • Blog
  • Many whys
    • Log in / Sign up
  • Legal
  • License
  • Cookies
  • Privacy Policy
  • Terms of Service
  • Get in touch
  • Github discussions
  • Connect
  • Github Principles Project
  • Twitter
© 2019 — 2024 Principles.dev. Some Rights Reserved.