やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

Python学習サイトのHTML文字列生成クラスのWrapを修正し、単体テストをした。

Pythonで。ちょっとHTMLタグ文字列をつけるだけの簡単なお仕事。

成果物

GitHubPython.pylangstudy.HtmlWrapper.201705220846

前回まで

修正したメソッド

Wrapメソッド

  • 前: Wrap(self, inner_html, element_name, id_=None, class_=None, **attributes)
  • 後: Wrap(self, outer_html, inner_html)

作成済みのHTML文字列を引数にとるようにした。見やすく扱いやすくなる。

修正したバグ

__CreateAttributesメソッド

  • id, class
    • 末尾のスペースがなかった。後続の属性キーと繋がってしまう
    • 文字列結合していなかった。前の属性キーが代入によって上書きされて消える
  • 末尾のスペースが余計だった

__CreateStartElementメソッド

  • None, 空文字, 空白文字のみの場合に例外を発生するようにした
    • element_name = None の場合、<None></None>になってしまう
    • element_name = ‘’ の場合、<></>になってしまう
    • element_name = ‘ ’ の場合、< ></ >になってしまう

所感

  1. 少し使っていると、使いづらさに気づく
  2. 「このくらい我慢しよう」がやがて募ってきて改修する労力を上回る
  3. 改修する
  4. 動作確認しようと思うがprintデバッグが面倒
  5. 単体テストしたほうが良いと思うようになる
  6. 単体テストでバグ発見する
  7. 品質向上。1,6が解決される

という流れになっている。「できるだけ楽をしよう」という方針。楽な方法だったのが逆に苦痛になってきたとき、少し大変な方法をする。

「作ったら単体テストせずにそれを利用してみる」ことで初めてわかることもある。たとえ後戻りを予感しつつも先に進めてしまうことも品質向上には必要か。ただし規模が小さく、短い期間に限る。忘れぬようメモするよりも直接コードを書いて対応したほうが形になるし忘れにくい。規模が小さい今のうちはひたすら書けばいいと思う。

はたしていつごろ通じなくなるか。局所に注目して忘れてしまう可能性もある。判断できない今はそれについてを書き留めておけばいいか。