Skip to content

Commit 16934d2

Browse files
author
en-ken
committed
docs: updated about kadai2-1
1 parent 953d945 commit 16934d2

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

kadai2/en-ken/README.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,22 @@
77

88
### 標準パッケージで使われているところ
99

10+
- 基本的にI/Oが存在するところのI/Fには存在する。
11+
- stdin, stdout, stderr (os.Stdin, Stdout, Stderr)
12+
- ファイル(os.File)
13+
- メモリ(bytes.Buffer)
14+
- TCP,UDP (net)
15+
- POSTのbody (net.http)
16+
- bufioではラップしてより使いやすくしている。
17+
1018
### 利点
1119

20+
- 理論的にはio.Reader/WriterのI/Fを実装しているどんなシステムにでも着替えられる。
21+
- 入力出力を抽象化できるので、呼び出し側は極論I/Oのシステムが何か意識しなくて良い。
22+
- 呼び出し側の実装が外界に依存しない。
23+
- DIPやりやすい。
24+
- 粗結合。移植観点からも有利。
25+
1226
## 1回目の宿題のテストを作ってみて下さい
1327

1428
- [x] テストのしやすさを考えてリファクタリングしてみる
@@ -28,9 +42,20 @@ kadai2 -in [INPUT_EXT] -out [OUTPUT_EXT] SRC_DIR DST_DIR
2842
# output extension (jpg/png) (default "png")
2943
```
3044

45+
## カバレッジ結果
46+
47+
```bash
48+
> ./cov.sh
49+
ok github.com/gopherdojo/dojo6/kadai2/en-ken/cli 0.001s coverage: 74.1% of statements
50+
ok github.com/gopherdojo/dojo6/kadai2/en-ken/imgcnv 0.071s coverage: 85.0% of statements
51+
ok github.com/gopherdojo/dojo6/kadai2/en-ken/kadai2 1.150s coverage: 0.0% of statements
52+
```
53+
3154
## kadai1からの変更点
3255

3356
- mainをkadai2のディレクトリに変更
3457
- 冗長だった構造体のI/Fから関数のI/Fに変更
58+
- 関数のI/Fよき
3559
- コマンド引数をシンプルに変更
3660
- 独自モックを実装
61+
- 独自実装していたファイル取得の再起処理を`filepath.Walk`に変更

0 commit comments

Comments
 (0)