Help us understand the problem. What is going on with this article?

Write the Comments First(A Philosophy of Software Design)

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

何をやるの?

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

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

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

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

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

その他

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

思ったこと

  • なんとなくTDDと似ている…?
    • どちらも、先にコメント/テストを書くことで、設計を良くする
    • どちらも、後から書くとサボりがちな部分を早めにする
    • Comment Driven Development(CDD?)という用語を思いつきましたが、すでに呼んでいる人もいるようです
  • コメントを書く順番を入れ替えるだけなので、気楽に試せるのは良きかな
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away