Skip to content

Instantly share code, notes, and snippets.

View wataruoguchi's full-sized avatar
🦥
Curiosity Driven

Wataru Oguchi wataruoguchi

🦥
Curiosity Driven
View GitHub Profile
@wataruoguchi
wataruoguchi / cleanArchitecturePart4.md
Created June 2, 2021 05:34
Clean Architecture - PART 4 - Component Principle #bookclub

Clean Architecture

PART IV - Component Principle

  • SOLID principle How to arrange the bricks into walls and rooms.
  • Component principle How to arrange the rooms into buildings.

Chapter 12 - Component

Components, jars, gems, packages, DLLs, .jar, .dll, .exe ... well designed components always retain the ability to be independently deployable and deployable.

@wataruoguchi
wataruoguchi / cleanArchitecturePart3.md
Last active May 27, 2021 04:23
Clean Architecture - PART 3 - Design Principles #bookclub

Clean Architecture

PART III - Design Principles

The SOLID principles tell us how to arrange our functions and data structures into classes, and how those classes should be interconnected.

The goal of the principles is the creation of mid-level software structure that:

  • Tolerate change,
  • Are easy to understand, and,
@wataruoguchi
wataruoguchi / cleanArchitecturePart2.md
Last active May 17, 2021 00:53
Clean Architecture - PART 2 - Starting with the Bricks: Programming Paradigms #bookclub

Clean Architecture

PART II - Starting with the Bricks: Programming Paradigms

Chapter 3 - Paradigm Overview

Structured Programming

Born in 1968.

@wataruoguchi
wataruoguchi / cleanArchitecturePart1.md
Last active May 16, 2021 23:49
Clean Architecture - PART I - Introduction #bookclub

Clean Architecture

PART I - Introduction

Getting it right is another matter entirely. Getting software right is hard.

Have you worked on a project that required reading tons of code? - Many people would have, unless it's a very early stage project, or your personal project. Often times, we're forced to read a huge code base. You must have a huge task trackers and almost endless backlogs. There's not enough architecture / design mindset, from my experience.

Chapter 1 - What Is Design and Architecture?

Bookclub

Process

  1. テーマになる本を決めます。
  2. 週に一章ペースで読み進めます。
  3. 週に一度チームで集まり、その週に読んだ章について話し合います。

Motivation

  • 書籍から得た共通の語彙や知識をチームで一緒に蓄えることができます。
  • 読み進めていく上で発生した疑問をチームに問いかけることができます。
@wataruoguchi
wataruoguchi / RefactoringChapter4.md
Created March 17, 2021 05:52
Refactoring - Chapter 4: Building Tests

Refactoring

Chapter 4: Building Tests

Even without refactoring, writing good tests increases my effectiveness as a programmer.

He also mentioned that "Agile" is formed with the following factors:

  • CI
  • Self-testing code
@wataruoguchi
wataruoguchi / RefactoringChapter3.md
Created March 3, 2021 07:12
Refactoring - Chapter 3: Bad Smells in Code

Refactoring

Chapter 3: Bad Smells in Code

“If it stinks, change it”

  • Grandma Beck, discussing child-rearing philosophy

Mysterious Name

@wataruoguchi
wataruoguchi / RefactoringChapter1.md
Created January 22, 2021 17:46
Refactoring - Chapter 1: Refactoring: A First Example

Refactoring

Chapter 1: Refactoring: A First Example

The Starting Point

Comments on the Starting Program

... when I change the system, there is a human involved, and humans do care.

@wataruoguchi
wataruoguchi / RefactoringChapter2.md
Created January 31, 2021 21:31
Refactoring - Chapter 2: Principles in Refactoring

Refactoring

Chapter 2: Principles in Refactoring

The previous chapter explained what refactoring is. This chapter is about some of the principles.

Defining Refactoring

  • Refactoring (noun): a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behaviour.
  • Refactoring (verb): to restructure software by applying a series of refactorings without changing its observable behaviour.
@wataruoguchi
wataruoguchi / DESIGN_QUESTIONS.md
Created September 9, 2017 21:40
THE DESIGN OF EVERYDAY THINGS - Highlights, questions for myself

THE DESIGN OF EVERYDAY THINGS

Second round - how can I apply the book to my work? Questions for myself

1. THE PSYCHOPATHOLOGY OF EVERYDAY THINGS

  • Human-Centered Design
    • When something is wrong, the service highlight the issue
      • User friendly error message - what to do to recover the operation - Can user understand the error without fear?
      • Possibility of undo - Can user undo the operation?
  • Affordance