Posted by & filed under いろいろ, 開発.


新卒向けカリキュラムを考え中の記事を書いたのが去年の8月末です。あれから半年以上、時間が経つのは早いものです。

先月、講義がひととおり終わりました。時々、講義資料のメモをここで公開しましたが、公開していなかった初回の講義メモを公開します。

なぜプログラマは0から数え始めるか、という簡単な謎かけで講義を始めました。ある知識(メモリのアドレス。2進数。ビット数を省略する文化など)を知っていればわかりますが、たぶん知らないだろうと思って質問しました。予想どおり知識はなかったのですが、簡単に正答したので驚きました。今時のなぜなぜ思考はあなどれないと思いました。

さて講義ですが、教えられるほうも初めてですが、教える側も(本格的な講義としては)初めてなので苦労もありました。パーフェクトJavaを書いたので、教えるのは簡単だろうと思っていましたが、そうでもなかったです。本に書いてあることそのままを口頭で話しても仕方ないと思いながら、言いたいことはだいたい本に書いてあるというジレンマがありました。

プログラミングでもっとも大事なのは分割統治だと繰り返し伝えました。プログラミングでは複雑さをいかにてなづけるかが重要で、そのためのもっとも効果的な手段が分割統治だからです。

最近、ある生徒のコードレビューをしていますが…分割しすぎです…。デザインパターンの弊害を見る思いです。

しかし、コードレビューにより、意味のある分割とそうでない分割を考えるきっかけになりました。この問いは意外に深いものです。意味のない分割のアンチパターンを分析しています。次回、人に教える時には役立ちそうです。それから、コードを読んでもっとも違和感があるのが命名です。命名に比べればロジックの巧拙は誤差です。命名は分割にも関連します。そのクラスの役割(責務)は何なのか、という問いかけに通じるからです。これも長年業界にいすぎて改めて考える機会が減っていた名前づけについて考えるきっかけになります。


関連文書:

  • 関連文書は見つからんがな

Comments are closed.