|
この記事は、翔泳社で実施する独習ゼミの研修を紙上で再現したものです。
この記事は、翔泳社で実施している独習ゼミの研修を紙上で再現したものです。使用したプログラミング言語はJavaです。プログラミング経験の有無から「初級コース」と「中級コース」に分かれて、それぞれ4問ずつプログラミングの課題に取り組んでいただきました。講師を務めた私の役目は、赤ペンでソースコードを添削することでした。提出されたプログラムは、どれもきちんと動作しましたが、誰にも共通した問題がありました。それは「プロらしくない」ということです。
これまで4回にわたって、初級コースの内定者さん(学生さん)から提出していただいたソースコードと添削結果を掲載してきました。今回は、初級コースのまとめとして内定者さんとのQ&Aを紹介しますので、皆さんも一緒にプロらしさとは何かを考えてみてください。また、指導する立場の人は、初級者が悩んでいる問題を意識しながら、後輩指導に取り組まれるとよいでしょう。なお、質問の内容は、一部を抜粋したものとなっています。
☆ ☆
| Q: |
教材に掲載されている各クラスのメソッドなどは、やはり全部覚えるべきなのでしょうか? 正直なところ、かなりつらいのですが。
|
[答え]
| A: |
学生時代には、単語カードなどを作って英単語の丸暗記を行ったことがあると思いますが、プログラミングの学習に暗記など必要ありません。何を調べれば解決方法がわかるかを知っていればよいのです。Javaなら、言語構文は教材で調べて、クラスライブラリの使い方はオンラインマニュアルで調べる。そこまで知っていれば十分です。
|
| Q: |
教材に書かれていた「バッファ」というものには、どのような役割があるのですか? |
[答え]
| A: |
コンピュータ用語は、まず英和辞典で本来の意味を調べてみてください。コンピュータ用語としても同じ意味の場合がほとんどだからです。「バッファ」="buffer"=「緩衝材」という意味です。一度に処理できない膨大なデータを一時的に受け止める緩衝材(一時的な格納領域)というイメージです。
|
| Q: |
マルチスレッドを活用したプログラムを作れません。どうしたらよいでしょう? |
[答え]
| A: |
まず、何度も教材を復習してください。そもそも1度だけ読んで理解できたなら、頭が良すぎるくらいです。次に、サンプルプログラムを改造してみてください。「こんなことに使ったら便利なのでは?」とアイディアが浮かんだら、実際にやってみてください。徐々にマルチスレッドの活用方法が見えてくるはずです。
|
| Q: |
サンプルプログラムの中で、1つのクラスで変数やメソッドを定義して、別のクラスのmainメソッドからそれを呼び出して処理を行う形式のプログラムがありますが、どのようなメリットがあるのですか?
|
[答え]
| A: |
何もかも1つのクラスにしてしまったら、再利用できるクラスにはなりません。役割ごとにクラスを分けておけば、他のプログラムで同じクラスを再利用できる可能性があります。既存のクラスを再利用すれば、開発コストを削減できます。クラスごとに保守できるので、保守コストも削減できます。
|
| Q: |
プログラミング技術の高さとはどのようなことを指すのでしょうか? |
[答え]
| A: |
プロであるなら「指定された期限内」に「十分な品質のプログラムを作れること」が重要です。テクニックの有無は、それほど重要なことではありません。現在の技術をフルに使って、目的に合った結果を出すのです。
|
| Q: |
クラスをpublicにした場合には、ソースファイルもクラスと同名にしなければならないと思っているのですが、正しい解釈なのでしょうか?
|
[答え]
| A: |
正しい解釈です。ただし、それが正しいことを実験プログラムによって確認してください(publicなクラス名とは異なるファイル名にしてコンパイルしてみるプログラム)。実験すれば、確実に「体得」できます。
|
| Q: |
クラスライブラリが提供するメンバ(メソッドやフィールド)は、すべて完璧に覚えておいたほうがよいのでしょうか?
|
[答え]
| A: |
この手の質問が多いようですね。完璧に覚える必要などありません。重要なクラスとそのメンバは、プロになってから毎日プログラミングしていれば自然と覚えられます。心配無用です。
|
| Q: |
教材で勉強しながら思ったのですが、プログラムをされている方というのは(Javaだけでなくほかの言語でも)こういった基本的な内容がすべて頭の中に入っているのでしょうか?
私は、前の章でやったことで細かいところなどを忘れて、見直してやっていたことがあります。仕事場で、こういった教材を見るということはあるのでしょうか?
|
[答え]
| A: |
プロの現場でも、バンバン参考書等を見てプログラミングしています。気に入った参考書を2〜3冊ぐらい机の上に置いておきます。入社後、先輩の机の上を観察してみてください。調べながらプログラミングするのは、よいスタイルです。新しい技術が登場しても、すぐに追いつけるからです。
|
| Q: |
最終課題が終わったのですが、これからも「○○○というプログラムを作成しなさい」といったような課題がつまったテキストがほしいと思います。どうやったら入手できますか?
|
[答え]
| A: |
よい教材だけでなく、よい友と先輩を持つことです。お互いに問題を出し合ったり、一緒に議論できたら楽しいでしょう。入社後は、大勢の仲間が待っています。
|
| Q: |
プログラム中でのコードでの書式に関して、特にドットでオブジェクトとメンバを区切って利用するときなど「そういう使い方」として覚えているので、まだまだモヤモヤした物があります。どうすれば解消できますか?
|
[答え]
| A: |
モヤモヤを晴らすには、慣れが必要ですね。最初は違和感があるでしょう。慣れれば「ドット」が「〜の」に見えてきます。慣れるほど多くのプログラムを作ってください。
|
| Q: |
プログラムのソースに正解というものは無いとは思いますが、自分の作ったプログラム以外に、違った視点の人が作った同じプログラムのソースも見ることはプラスになりますか?
|
[答え]
| A: |
これは、とてもよいことです。ぜひ、ほかの人が作ったプログラムを見てください。内定者同士で連絡し合えるなら、ソースコードを交換し合って、お互いに意見を聞くのもよい勉強になります。入社後は、先輩が作ったプロのコードを研究してください。
|
次回から中級コースの添削に進ませていただきます。どうぞお楽しみに!
|