はじめに
こんにちは。将棋と筋トレが好きな学生エンジニアのゆうき(@engieerblog_Yu)です。
プログラミングをしていると、以下のような現象に遭遇することはありませんか?
コードで何を書いているのか分からない
エラーの原因が分からない
コードが理解できないというのは、誰もが経験する道だと思います。
実際私も100万回は経験しました。(笑)
もしネット上からコードを持ってくる場合、最初は全く理解できていないという状況になります。
そこからどうやって理解していくことができるのか、理解できていない原因は何なのかということについて今回はまとめていきたいと思います。
基礎文法が理解できていない
最初はプログラミング初心者にありがちな、基礎文法が理解できていないということです。
例えば以下のような文法が該当します。
繰り返し処理(for,while)
条件分岐(if)
関数
クラス(構造体)など
これらはどれも基礎的な文法ですので、何回も見ていくうちに慣れていくと思います。
対策は何回も勉強して慣れる。それだけです。
基礎文法の習得に近道はない、何回もコードに触れて慣れよう
ライブラリの仕様が分かっていない
二つ目にありがちな原因が、ライブラリの仕様が分かっていないということです。
どんな天才プログラマーでも、ライブラリの仕様が分かっていないとコードを書くことはできません。
例えば、以下のようなコードがあったとします。(それっぽく考えたコードです)
a = Hiper.Super('!','?')
b = a.Bikkuri()
これはHiperクラスのSuperオブジェクトをaに代入しています。
その後SuperオブジェクトのメソッドBikkuriの返り値をbに代入しています。
これを見て、Hiperって何?Superオブジェクトってどんなオブジェクト?Bikkuriメソッドは何をして何を返すんだ?
って思った方は、プログラミングに慣れてきた方でしょう。
ライブラリは便利な反面、中身がブラックボックスになってしまっています。
初めて使うライブラリがある場合は、その都度公式ドキュメントを見て
ライブラリがどのような目的で使われているのか
クラスのオブジェクトはどのような形をしているのか
メソッドの仕様と返り値はどのようになっているのか
を正しく確認することが大切です。
ライブラリの仕様は、めんどくさくてもしっかり時間をかけて理解するべし
アルゴリズムが理解できていない
最後の原因は、アルゴリズムが理解できていないということです。
プログラミングでは、アルゴリズムを適用して問題を解いていくということが多々あります。
例えば、バラバラに並んだ1~9の数字を大きい順番に並び替えようとした場合はどうすれば良いでしょうか?
もし1~9のカードが目の前にあれば並び替えるのは簡単です。
しかしプログラミングではそうはいきません。
あなたならどうやってコーディングするでしょうか?
正解は、こちらの記事で6種類の整列アルゴリズムを解説しています。
日々勉強して知識を取り入れるか、常にこの問題をプログラミングで実装するためにはどうすれば良いだろうか?ということを考えていくことが大切です。
まとめ
コードが書けない&読めない原因は、「基礎文法が理解できていない」「ライブラリの仕様が分かっていない」「アルゴリズムが理解できていない」の三つ
何故書けない&読めないのかを意識して、めんどくさくても勉強を積み重ねていくべし
今回は、コードが書けない&読めない、ありがちな原因を三つ紹介しました。
原因を解明することで、その対策をはっきりさせることができると思います。
充実したプログラミングライフをぜひお過ごしください!
最後まで読んでいただきありがとうございました。
他にもいろんな記事があるにゃ。
コメント