1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Write the Comments First(A Philosophy of Software Design)

Posted at

最近、A Philosophy of Software Design という本を読みました。
その15章"Write the Comments First"(「コメントをまず書こう」)の内容が面白かったので、紹介です。

何をやるの?

実装の前に、クラス・(パブリック)メソッドの概要やインターフェイスのコメントを書くだけです。

あとでコメント書くのじゃ駄目なの?

  • あとで書くっていう人は、大体書かない
  • すでに実装が終わっているので、コメントを書くモチベーションが低くなりがち
    • 他人のためだけに書くことになるので
  • コードを書く時に考えていた設計上の考えを、コメントを書く時点では忘れがち

先にコメント書くと、何が嬉しいの?

  • 設計直後orしながらなので、考えたことが頭に残っており、良いコメントを書きやすい
  • いい感じにコメントが書けるか・書けないかで、システム・インターフェイスの複雑性を判断出来る
    • いい感じに書けない=メソッドやクラスの責務が広すぎたり、抽象化が十分ではない
  • 楽しい

その他

  • コメントだったら何でも良いわけではなくて、コードを抽象化するか、情報を加えることが大事
    • コードを繰り返すのではなく、抽象化or情報を加える
    • 具体的には12章、13章で言及

思ったこと

  • なんとなくTDDと似ている…?
    • どちらも、先にコメント/テストを書くことで、設計を良くする
    • どちらも、後から書くとサボりがちな部分を早めにする
    • Comment Driven Development(CDD?)という用語を思いつきましたが、すでに呼んでいる人もいるようです
  • コメントを書く順番を入れ替えるだけなので、気楽に試せるのは良きかな
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?