【Javaの勉強方法】プログラムが書けるようになるのは後でいい!まずは読めるようになろう!

ディスプレイに映るプログラミング言語

こんにちは!ごっどている(@brotherhood0716)です。

わたしが現在勤めているシステム開発の会社は、転職3社目のところ。

いまの仕事内容は、客先常駐で保守業務がメイン。

 

保守をしているシステムの開発言語はJava。

なので、何か不具合が発生したりするとJavaのソースコードを読むことがあります。

 

ちなみにわたしは今までJavaの開発をしたことがありません。

しかし、転職して1年半年が経とうとしている現在は、そこそこJavaが読めるようになってきました。

 

今回はわたしが今までJavaの開発をしたことがないエンジニアの私が、Javaのコードが読めるようになるまでをご紹介していきます!

この記事はこんな人におすすめ!
  • プログラミングに興味があり、エンジニアを目指している人
  • 現在、エンジニアとして働きはじめたばかりの人
  • 仕事でJavaのソースコードを見ているが、全然分からない人

実際のシステム開発のソースコードは難しい!?

パソコンでプログラミングをする男性のイラスト

簡単にわたしのキャリアを振り返ります。

現在、30代のエンジニアでこれまでの主な使用開発言語はCOBOL。

SQLについては、20代前半でIBMのAS/400のiCOBOLを使って開発していたときに、組み込みSQLの使用が可能でした。

そのときに使ったことがあっただけで、30代以降はほぼ使っていませんでした。

 

なので、いまの会社に転職するときは

  • COBOLが書ける・読める
  • SQLはほとんど書けない(テーブルの結合とかよく分からない)

といった低レベルスペック。

 

まあそれでもエンジニアとしての経験年数や、顧客折衝などやっていたことが評価されたのか

いまの会社にはすんなり転職ができました。

 

ここで初めて開発現場のJavaのソースコードを見ることになります。

 

Javaは最初に入社した会社の新入社員研修でも学んでいたし、Javaの書籍も読んだことがありました。

実務経験はなくても、なんとなくの雰囲気なら分かるかなと。

 

しかし、実際のJavaのソースは

ごっどている
全然分からんw

といった感じでした(汗)

 

というのも、いわゆる入門書に書いてあるような分かりやすい文法やコードのみで書かれているわけではない!

 

難しく感じたのは以下の点があります。

  • フレームワークを使用している
  • デザインパターンで書いている
  • JPSとjavascriptの仕組み
  • プロシージャの使用
  • 着目したデータがどのような経路をたどっているのか

 

初学者の方は何のことか分からないかと思います。

わたしも現在、開発をしているわけではないので、全てにおいて解説ができるだけの知識があるわけではないです。

 

ソースを書くよりもまず、読めるようになるまでに行ったことを振り返っていきます!

Javaの基本を学習しよう!

Javaの基本文法が分かっていない場合は、ざっとおさらいする必要があります。

 

if文やfor文など分岐処理や繰り返し処理をする命令は全てのプログラミング言語にあるため、Javaのようなオブジェクト指向言語にある考え方を一通り理解しましょう!

 

そこで使用したのがこちらの書籍。

とても分かりやすくておすすめ!

プログラミングの例えをRPGゲームにして解説をしています。

 

この本の特徴は各章すべてにおいて、レクチャーする先輩社員とJavaを学ぶ新入社員の物語になっています。

登場人物が会話形式で解説されていて、勉強している中でそこが分かりにくい!ってところが

具体例とともに解説されているため、とても分かりやすいんです!!

 

考え方のポイントや勉強していく上での注意点などが書いているので、わりと楽しく学んでいけますよ。

本当におすすめ!

データの流れを理解する!

ソースコードを解析するときって、何か理由があってしまうよね。

たとえば、ある帳票の項目の値はどのから取得してきたものかとか、ある処理はどのような条件を満たしたときにされるのかなど。

 

このときに大事なのが、プログラムのデータの流れ!!

 

取得したパラメータつまり変数などが、どのような処理をたどっていくのか解読できると探し求めている答えが見つかります。

 

その上で大事なことは、ゲッター、セッターを理解しておくこと!

これらを簡単に言うと、フィールドの値をゲットしたりセットしたりするためのメソッド。

 

わたしは元々コボラーだったので、このゲッター、セッターなどという考え方をしたことがありませんでした。

まだ詳しくこの辺りを知らない人は、Javaのカプセル化について勉強をざっとしておくといいですよ!

そんなに難しくはないのでどうしてわざわざメソッドを用意して、このようなことをするのか理解できるはず。

 

ソースコードの解読は英語の長文読解と同じ!

高校や大学受験などで英語の勉強をしたことはありますか?

 

英語の長文読解のトレーニングをするときって、最初からスラスラ読めていたわけではないですよね。

 

単語や文法、構文も覚えなければいけないし、長文を読むためのコツも必要だったりします。

 

わたしもJavaのソースを読んでいて、なんとなく英語の長文と同じ感じがしました。

 

Javaも読むためのコツみたいなのがあるんです!

 

ソースの一字一句すべての意味が理解できる人はほとんどいないはず。

 

それよりも大事なのが、ソースを読むために大事なポイントをおさえること!!

 

これがけっこう大事です。

 

わたしも最初に開発のソースを見たときは、理解できる気がしなかったんですが、いまではわりと読めています。

 

そのためにこれまでしたことは

  • 何か調査依頼があったら、該当のプログラムをとにかく読む
  • 分からないことがあったら、会社の先輩に相談して読み方のコツを教えてもらう
  • 基本的な文法については、購入したJavaの本で勉強する

 

もちろん細かい点については分からないことも多いですが、そこはこれから勉強していきます!

まとめ:まずはJavaのソースが読めるようになることを目標に!

いかがでしたが。

わたし自身もまだJavaを勉強している最中です。

 

Javaの基本的な文法や考えかたはこちらの本を読めば、かなり理解が深まります。

ぜひ参考にしてみて下さい。

 

Javaの基本がおさえられたら、ソースコードに記載されているデータがどのような経路をたどっているのか着目してみるといいです。

 

これも様々な手法や書き方があるので、一筋縄ではいかないかもしれません。

 

初めから100%の理解をしようとすると挫折するので、分からなてもいいからソースを追っていくのがいいです!

 

繰り返しソースを読む訓練を続けていくと、点と点が線になるときがきて、分かるようになります。

実際に自分がそうでしたから。

 

今後は開発にも携わっていきたい考えがあるので、いまの現場でできることはやっていこうとしています。

この記事が参考になれたら嬉しいです。