leherv / Learning-Resources

Just a collection of learning resources I enjoyed.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Books

Refactoring: Improving the Design of Existing Code

Refactoring to Patterns

Unit Testing Principles Practices, and Patterns

  • London School vs Classical School of Unit Testing
  • The four pillars of a good unit test
    • Protection against regressions
    • Resistance to refactoring
    • Fast feedback
    • Maintainability
  • Definition test double --> overarching therm
    • Further divided into: mock, stub

Extreme Programming

Test Driven Development By Example

Domain Driven Design Tackling Complexity in the Heart of Software (Blue Book)

Domain-Driven Design Distilled

Clean Architecture

  • Definition Architecture (Chapter 15)
  • Goal of architecture: The goal of software architecture is to minimize the human resources required to build and maintain the required system.
  • Programming paradigms (Structured, OO, Functional)
    • all took something away not added something
  • Design Principles - SOLID
    • mid-level software structures (class - in oop, which is coupled grouping of functions and data (applies to non oop as well))
  • Definition Module
  • Definition Component
  • Component Principles
    • Component Cohesion
      • REP (Reuse/Release Equivalence Principle)
      • CCP (Common Closure Principle)
      • CRP (Common Reuse Principle)
    • Component Coupling
      • ADP (Acyclic Dependencies Principle)
      • SDP (Stable Dependencies Principle)
      • SAP (Stable Abstractions Principle)
  • Dependency Rule
  • Humble Object Pattern

Agile Principles, Patterns, and Practices in C#

  • Principles of Package and Component Design
    • Very nice addition to Clean Architecture as it goes into more detail and also shows dependency metrics

Clean Code

Clean Craftsmanship Disciplines, Standards and Ethics

Code That Fits in Your Head Heuristics for Software Engineering

The Software Craftsman

Clean Agile

  • Trivariate Analysis
  • Agile Manifesto
  • Small teams doing small things
  • Agile Movement
  • Software Craftsmanship Movement

Blogs

Channels

The Native Web

Scott Hanselman

Khorikov Videos

Video Courses

https://enterprisecraftsmanship.com/online-training

About

Just a collection of learning resources I enjoyed.