Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kadai2-nejiyoshida #17

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

nejiyoshida
Copy link

@nejiyoshida nejiyoshida commented Jun 10, 2019

テストを書いてみよう

  • 1回目の宿題のテストを作ってみて下さい

    • dircrawler
    • imgconverter:未達です
  • テストのカバレッジを取ってみる

    • dirclawler:coverage: 80.0% となりました
  • テーブル駆動テストを行う

    • dircrawlerパッケージにて実装しました
  • テストヘルパーを作ってみる

    • dircrawlerパッケージにて実装したつもりなのですが、これで大丈夫でしょうか?

io.Readerとio.Writerについて調べてみよう

  • 標準パッケージでどのように使われているか

    • 例えばWriteは引数が書き込むbyte列で、戻り値が書き込んだバイト数とエラーなので、「引数で与えた書き込むbyte列の長さと戻り値の書き込んだバイト数が一致&エラーがnil」の場合に書き込みが成功したとみなす、といった処理が多いように思います。
  • io.Readerとio.Writerがあることでどういう利点があるのか具体例を挙げて考えてみる

    • net/httpパッケージのResponse.WriteHeaderやResponse.WriteBody
    • osパッケージのFile.WriteFile
      のように構造体名で書き込む対象がわかり、メソッド名でどこに/どのように書き込むかがわかる、といった直感的にわかりやすい構造になっているかと思います。また、ioutil.ReadFile() などの中にio.Readerを隠蔽し、実装について知ることなく簡単に使えているのもメリットかと思います。

@nejiyoshida nejiyoshida changed the title 第二回課題:テストを書いてみよう kadai2-nejiyoshida Jun 10, 2019
@tenntenn
Copy link
Member

tenntenn commented Jun 12, 2019

net/httpパッケージのResponse.WriteHeaderやResponse.WriteBody

これは違いそう。

func searchFilePaths(rootDir string) []string {
files, err := ioutil.ReadDir(rootDir)
if err != nil {
log.Fatal(err)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

エラー処理。log.Fatalは使わない。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants