Programming Methodology 3


今回は、前回よりも少し複雑なアルゴリズムを組みながらKarelを動かしています。処理が複雑になってきた場合、メソッドを分ける必要がありますが、その分割方法が今回の主題のようで、ここでも、人が理解しやすいように書くことが重要だという主張がなされていました。TopDown形式で、まずは何をやりたいのかの大枠を書き、その後、少しずつ細かい処理を行なうメソッドを実装していく方法で、Karelプログラムを書いていました。一つのメソッド内の抽象度や問題の大きさを合わせるべきというアドバイスもありました。
その他、メソッドの分け方(decompose)について、以下のような指摘がなされていました。

  • solve 1 problem
  • method 1-15 lines
  • good names
  • comment(precondition/postcondition)

一つの問題を解決するようなメソッドの組み方で、大きなロジックにならないように注意しつつ、人間が理解しやすいような名前をつけてやり、必ずコメントを付け加えておく、と言っていました。リファクタリングの本に出てくるような内容が、早くも登場してきたことに驚きを隠せませんが、その反面、今後の講義がより楽しみになってきました。